引言
linux系统中,安装MySQL主要分为以下几步。
①.检查系统内是否存在残留的MySQL或是否已经安装了MySQL,如有则需要先清除或卸载后才可以安装MySQL
②.下载所需要的MySQL版本
③.通过指令安装
④.初始化登录
⑤.通过Navicat或其他MySQL连接工具连接测试
一.检查系统内是否有mysql
1.查询是否有MySQL
rpm -qa | grep -i mysql
如果存在mysql-libs的版本包,如下图所示,前往第2步
如果不存在mysql-libs的版本包,如下图所示,前往第二步
2.卸载MySQL
2.1. 查看当前MySQL状态
systemctl status mysqld.service
2.2. 关闭MySQL服务
systemctl stop mysqld.service
2.3. 卸载检查出来的已经安装的程序
yum remove mysql-xxx
务必卸载完全,反复执行rpm -qa | grep -i mysql 确认是否有残留
2.4. 删除MySQL相关文件
2.4.1. 查找相关文件
find / -name mysql
2.4.2. 删除上述命令找到的相关文件
rm -rf xxx
2.5. 删除my.cnf
rm -rf /etc/my.cnf
二.下载需要的MySQL版本
1.在官网查找自己需要的版本,我们这里选择5.7和8.0各一个
#官网
https://downloads.mysql.com/archives/community/
2.下载解压也可以下载后上传到linux上解压,在此我选择下载后先解压后上传
2.1. MySQL5.7/8.0版本
2.2. 通过xshell或其他连接工具上传安装包到linux的/opt目录
三.MySQL安装
1.添加目录权限,避免在安装过程权限不够报错
chmod -R 777 /tmp
2.检查依赖
2.1. 查看是否存在libaio
rpm -qa | grep libaio
2.2. 查看是否存在net-tools
rpm -qa | grep net-tools
#如不存在需要安装
yum install net-tools.x86_64
3.安装MySQL
3.1. 安装之前先执行命令,清除之前安装过的依赖,以免安装过程中报错
yum remove mysql-libs
3.2. MySQL5.0和MySQL8.0安装过程略有不同
#MySQL5.0安装顺序,不可打乱必须按照此顺序执行
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.29-1.el7.x86_64.rpm
#MySQL8.0安装顺序,不可打乱必须按照此顺序执行
rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm
3.2 MySQL安装过程可能会出现问题
3.2.1. 出现libs安装失败的问题,执行3.1的指令
3.2.2. 出现server安装失败的问题,加上--force --nodeps
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm --force --nodeps
4.查看是否安装成功
#执行如下命令,如果有返回版本信息表示安装成功
mysql --version
#或着
mysqladmin --version
四.初始化登录
1.MySQL初始化
mysqld --initialize --user=mysql
2.查看临时密码 root@localhost:后面但就是临时密码
cat /var/log/mysqld.log
3.启动MySQL,查看状态
#启动:
systemctl start mysqld.service
#关闭:
systemctl stop mysqld.service
#重启:
systemctl restart mysqld.service
#查看状态:
systemctl status mysqld.service
#检查是否自启:
systemctl list-unit-files|grep mysqld.service
#开机自启:
systemctl enable mysqld.service
#关闭开机自启:
systemctl disable mysqld.service
#查看进程:
ps -ef | grep -i mysql
4.登录MySQL
4.1. 登录
mysql -hlocalhost -P3306 -uroot -p
4.2. 修改密码,尽量设置复杂一些的密码避开安全策略
#临时密码会过期所以得修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root@1234';
4.3. 设置远程登录,不设置用工具连接时会报错
4.3.1. 关闭防火墙
#启动防火墙
systemctl start firewalld.service
#查询防火墙状态
systemctl status firewalld.service
#关闭防火墙
systemctl stop firewalld.service
#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机禁用防火墙
systemctl disable firewalld.service
4.3.2.修改MySQL配置
#选择mysql数据库
use mysql;
#查看列表
select host,user from user;
#将root的所在行的host设置成%,%是通配符,修改成这样任意ip都可以访问,生产环境中要根据ip修改
update user set host='%' where user='root';
#修改完成后,执行下列语句使配置立即生效
flush privileges;
五.测试连接
结语
至此,全部流程安装结束,8.0除了执行顺序和5.7略有不同以外,其他步骤全部相同。在生产环境中还需要考虑安全策略在此安装篇不做赘述。