mysql8的编译安装

mysql8的编译安装

Scroll Down

MYSQL的编译安装(centos7)

简介

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

实验步骤

官网下载源码包
下载链接
image.png

image.png
一般centos7会自带mariadb,需要先把mariadb卸载。

rpm -qa | grep mariadb #查找是否安装mariadb如果没有则跳过这步
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 #卸载mariadb

yum安装依赖包

yum install libaio

新建存放mysql的目录

mkdir /usr/local/mysql/data
chmod -R 777 /usr/local/mysql/mysqldb/ #根据自己需求给权限

创建mysql账户,并将文件夹属主属组配置为mysql。

useradd mysql
passwd mysql
chown -R mysql:mysql /usr/local/mysql

scp上传文件

scp 上传文件相对路径或绝对路径 用户@地址:服务器存放路径

创建my.cnf配置文件

vim /etc/my.cnf
[mysqld]
port=3306 # 设置3306端口
basedir=/usr/local/mysql # 设置mysql的安装目录
datadir=/usr/local/mysql/data # 设置数据存放目录
max_connections=10000 # 允许最大连接数
max_connect_errors=10 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
character-set-server=utf8 # 服务端使用的字符集默认为UTF8
default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎
default_authentication_plugin=mysql_native_password # 默认使用“mysql_native_password”插件认证

[mysql]
default-character-set=utf8 # 设置mysql客户端默认字符集

[client]
port=3306 # 设置mysql客户端连接服务端时默认使用的端口
default-character-set=utf8

安装mysql

cd /usr/local/mysql/bin
./mysqld --initialize --console #执行命令并设置随机密码 root@localhost后面的内个

启动

cd /usr/local/mysql/support-files
./mysql.server start

遇见问题 PID file 错误
先确认权限问题,再看一眼是否出现端口占用情况。

后续操作

将启动文件copy至/etc/init.d/mysqld

cp mysql.server /etc/init.d/mysqld
service mysqld restart 查看是否可以重启

增加软链接

cd /usr/local/mysql/bin #移动至安装目录
ln -s /usr/local/mysql/bin/mysql /usr/bin 增加软连接

登录mysql并设置远程登录

mysql -u root -p随机密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';   #修改密码
use mysql;
update user set user.Host='%' where user.User='root'; 
flush privileges;
exit

重启服务并验证

service mysqld restart
netstat -anp | grep 3306