CentOS 7.5 安装MySQL教程
这里写目录标题
一.上传安装包
本教程所适用的MySQL版本为:
mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
1.上传路径
/usr/local/
2.解压缩
tar xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
3.重命名
mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql
二.修改配置
1.修改配置
vi /etc/my.cnf
默认配置如图
修改内容为
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
修改后,如图
2.创建mysql组与用户
groupadd mysql
useradd -g mysql mysql
3.初始化mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
执行结果如果报如下错误
请先安装依赖
yum -y install numactl
yum install libaio*
安装完成后,再次执行以下命令
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
执行结果如下【root@localhost: 跟着的是初始密码。记下,后面用到 】:
4.创建sock文件夹与命令链接
mkdir -p /var/lib/mysql ; chown -R mysql:mysql /var/lib/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin
结果如图
5.启动服务
/usr/local/mysql/support-files/mysql.server start
执行以上命令时,报错如下
解决方案:
重新配置my.cnf
在[mysqld]中添加以下配置:
log-error=/usr/local/mysql/data/error.log
pid-file=/usr/local/mysql/data/mysql.piduser = mysql
tmpdir=/tmp
修改的内容为
log-error=/usr/local/mysql/data/error.log
pid-file=/usr/local/mysql/data/mysql.pid
配置完,重新执行命令启动服务
/usr/local/mysql/support-files/mysql.server start
服务启动成功如图
6.修改初始密码
mysql -uroot -p
结果如图
修改密码 ,我这里的新密码是123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
结果如图
7.开启远程访问
use mysql;
update user set host='%' where user='root';
flush privileges;
exit;
结果如图
8.重新修改密码
mysql -uroot -p
结果如图
按顺序执行以下语句
use mysql;
select user,host from user;
结果如图
再执行
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
结果如图
9.配置成服务并开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
chkconfig --add mysql
结果如图
这样可以使用命令
service mysql start
service mysql stop
结果如图
10.防火墙开启3306端口
查看firewalld状态:
systemctl status firewalld
,如果是dead状态,即防火墙未开启
开启防火
systemctl start firewalld
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
开放端口并立即生效
firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent #关闭3306端口
firewall-cmd --reload # 配置立即生效
再次查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
至此,mysql数据库端口3306已经开放。