CentOS7安装MySQL5.7
1.MySQL下载
MySQL的官网提供YUM安装方式比较慢,所以本次安装采用rpm的形式安装。首先需要下载MySQL的rpm安装包。下载地址:https://dev.mysql.com/downloads/mysql/
选择合适的版本,下载相应的rpm包,需要下载common、libs、client、server这四个就可以了。
2.安装
2.1上传安装包
将下载好的rpm包使用sftp工具上传到服务器,在CRT中可以使用ALT + P打开SFTP工具
默认是上传到当前用户的根目录,上传完毕后就可以安装了
2.2卸载依赖
在安装之前需要卸载旧版本的MySQL,主要是由于新版本和旧版本之间会有冲突
# 使用rpm命令查看是否安装了旧版本的MySQL
rpm -qa | grep mysql
如果有,就使用rpm -e 包名卸载掉就可以了
还需要查看是否有MariaDB的相关包,因为CentOS7之后默认的数据库就变成了MariaDB,而MariaDB的一些包和MySQL的包是有冲突的,所以需要卸载
# 使用rpm命令查看是否已经安装MariaDB的相关包
rpm -qa | grep mariadb
# 使用rpm -e 卸载 --nodeps 强制卸载
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
2.3安装
使用rpm的安装方式需要我们自己手动解决依赖关系,所以必须按照如下顺序安装:
common -->libs–>client–>server
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-client-5.7.29-1.el7.x86_64.rpm
# 安装server的时候需要强制安装 缺少perl相关依赖包 不过不影响使用
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm --nodeps
2.4启动
使用systemctl命令启动mysql
# 启动
systemctl start mysqld
# 查看状态
systemctl status mysqld
2.5设置开机自启动
默认好像就是开机自启了,不过也可以使用如下命令设置
# 设置为开机自启
systemctl enable mysqld
# 禁止开机自启
systemctl disable mysqld
3.修改密码
3.1获取临时密码
MySQL5.7在启动的时候会在日志文件中生成一个临时的密码,这样是比较不安全也比较麻烦,我们需要使用这个临时的密码登录MySQL来设置登录密码
MySQL的日志会输出在/var/log/mysql.log这个文件中,我们可以使用gerp命令过滤出生成的临时密码
grep temp* /var/log/mysqld.log
这样我们可以使用临时密码登录到MySQL
3.2修改密码
由于MySQL5.7对于密码的要求更加严格,我们直接修改密码是会失败的。
我们需要修改MySQL的密码策略
# 修改密码的策略为最低
mysql> set global validate_password_policy=0;
# 修改密码的长度级别为1
mysql> set global validate_password_length=1;
# 设置密码
mysql> set password for root@localhost=password('root');
这样就可以使用新设置的root密码登录MySQL了
4.总结
- 使用rpm安装需要注意包的依赖关系
- 如果生成的临时密码中有特殊字符,需要转义,或者使用mysql -uroot -p 再将密码复制后输入
- 修改密码时需要设置密码的策略,如果不设置就需要将密码设置的复杂一点
- 也可以使用yum的方式安装,不过yum如果使用MySQL官方源,会比较慢