Linux系统下安装MySQL8.0图文教程
Linux系统下安装MySQL8.0图文教程
1.环境准备
1.1. 操作系统
Centos7.3,中标麒麟7.6
1.2. 防火墙配置(可关闭防火墙,不建议)
操作系统开启防火墙(注意:不建议把防火墙关闭,应该设置开放对应的端口,或者开放给哪些IP地址的哪些端口)。
(1) 防火墙端口开放设置:https://www.cnblogs.com/liuqq1015/p/15308666.html。
(2) 允许特定IP访问指定端口:https://www.cnblogs.com/liuqq1015/p/17078159.html。
1.3. Mysql资源包下载
资源下载地址:https://dev.mysql.com/downloads/mysql/。按照下图选择下载对应资源包。
2. 卸载MySql
2.1. 查看MySQL安装版本
rpm -qa|grep -i mysql
2.2. 关闭MySQL服务
systemctl stop mysqld.service
2.3. 查看MySQL服务状态,确认MySQL是否关闭
systemctl status mysqld.service
2.4. 执行卸载命令
# rpm -ev --nodeps 上面第一步查出来的名字,如:
rpm -ev --nodeps mysql-community-server-8.0.29-1.el7.x86_64
再次执行 rpm -qa|grep -i mysql 会发现已经卸载完成。
2.5. 查找出mysql对应的目录
find / -name mysql
2.6. 删除对应的mysql目录rm -rf 上面查出来的名字,删除完后再次执行find / -name mysql进行确认
2.7. 手动卸载my.cnf文件
rm -rf /etc/my.cnf
2.8. 检查是否卸载成功
rpm -qa | grep -i mysql 或者 systemctl start mysql
2.9. MySQL的卸载彻底完成!
3.安装MySql
3.1. 检查是否安装了 mariadb 数据库
检查系统是否安装了mariadb数据库, mariadb数据库是mysql的分支,是免费开源的。 mariadb和msyql会有冲突。首先要检查安装了mariadb, 如果有,需要卸载掉。
检查命令:
使用:yum list installed | grep mariadb 或 rpm -qa | grep mariadb
3.2. 卸载 mariadb
若linux中安装了mariadb数据库,先卸载掉, mariadb数据库可能与安装mysql发生冲突。
执行命令:yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
或者执行:rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
3.3. 上传mysql安装文件到/usr/local/mysql目录中
3.4. 解压 tar 包
3.5. 依次安装所需要的rpm包即可
rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-compat-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm
3.6. 查看 mysql 的安装包
4.MySql配置
4.1. 完成对 mysql 数据库的初始化和相关配置
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
4.2. 查看数据库的密码
通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码。
4.3. 数据库登陆
通过 mysql -uroot -p 敲回车键进入数据库登陆界面。
4.4. 修改密码
通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 命令来修改密码。
4.5. 远程访问的授权
通过以下命令,进行远程访问的授权。
(1)、创建远程访问
create user 'root'@'%' identified with mysql_native_password by 'root'; #如果存在对应用户(如root用户),则无需create,直接运行后续两行即可
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
(2)修改远程访问,存在对应用户
方式1:
use mysql;
select host,user from user; # 查询当前状态
update user set host = '%' where user = 'root'; # 修改访问限制为%
flush privileges; # 重新载入授权表,刷新权限缓存
方式2:
grant all privileges on *.* to 'root'@'%' ; # all privileges代表所有权限。*.*代表“库.表”
flush privileges; # 重新载入授权表,刷新权限缓存
4.6. 修改加密规则
通过 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。
4.7. 测试连接
本地可访问,远程访问不了的情况:1、服务器的防火墙是否设置。如果开启了需要开通mysql的对应端口。2、MySQL的访问授权是否设置。