下载地址:https://dev.mysql.com/get/mysql-5.7.26-1.el7.x86.rpm-bundle.tar
注:作者使用该地址下载到本地再通过xftp上传到远程服务器
安装步骤
- 下载解压到指定目录
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
- 检查系统中是否安装了mariadb,并卸载该数据库(该数据库会和mysql产生冲突)
- 安装mysql(依次运行解压的几个mysql的rpmw文件)
- 运行
systemctl start mysqld.service
,启动mysql - 重新设置mysql用户密码
- 开放远程连接(mysql默认root用户本地连接)
- 安装成功
1. 下载解压到指定目录
2. 卸载mariadb数据库
centos7.6默认装有MariaDB, MariaDB数据库是MySQL的一个分支,当系统已经存在该数据库时再安装mysql很可能会产生冲突
rpm -qa|grep 应用名
查询安装的应用rpm -e --nodeps 应用名
强制卸载指定应用
3. 安装mysql5.7
依次执行以下几个rpm文件
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
4. 启动mysql
systemctl start mysqld.service
启动mysql
正常情况下执行该命令是可以启动成功的,但可怜的作者在还是出错卡在这一步了(2小时),错误提示如下(如果你出现和作者一样的错误请看下文的错误处理):
[root@VM-0-11-centos tools]# systemctl start mysqld.service
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
5. 重新设置mysql用户密码
mysql会自动给root用户设置随机密码,运行grep "password is generated" /var/log/mysqld.log
查看密码
修改下密码
mysql -u root -p
使用root登录,根据提示输入上述密码,登录修改密码set global validate_password_policy=0;
设置密码策略(默认=1,"密码策略“?下文有解释)set password for 'root'@'localhost'=password('88888888');
设置密码- 运行
flush privileges;
使密码生效
6. 开放远程连接
- 登录mysql
- 选择数据库
show databases;use mysql;
- 查看root用户允许的连接方式(你的用户名可能不一样跟换自己的用户名即可)
select host,user from user;
- 更新root用户连接方式
update user set host = "%" where user = "root";
- 刷新
flush privileges
允许命令如下,红框代表执行步骤
使用navicat测试连接
密码策略?
mysql密码复杂度分为三种
密码强度 | validate_password_policy值 | 描述 |
---|---|---|
低 | 0或者LOW | 仅要求密码长度默认8位 |
弱 | 1或者MEDIUM | 要求长度、数字、大小写、特殊字符 |
强 | 2或者STRONG | 要求长度、数字、大小写、特殊字符、字典文件 |
6.安装成功
错误处理
出现了这个错误第一时间当然是百度了,但是每个出错的原因完全一样,别人的经验不一定就能完全解决自己的问题,因此采用作者查看日志的方法查找错误根源
使用指令tail
指令查看mysql日志文件/var/log/mysqld.log(重点关注ERROR类型的错误)
tail -n 300 /var/log/mysqld.log
查看日志文件末尾300行(作者是在日志文件末尾200多行找到错误的)
使用netstat -nap
查看端口使用情况(发现是mysqld占用3306端口,可能是我以前安装的mysql5.6版本)
杀死该进程kill -9 进程编号
(重新启动mysql,启动成功!)
·
·
·
文章不足之处欢迎留言指正,若安装过程中有任何问题请@作者,让我们共同进步吧!
·
·
·