Linux下安装MySQL 5.7或者8.0

Linux下安装MySQL 5.7

本次将在Linux下通过yum安装MySQL,安装的版本为MySQL 5.7,官网中是最新版本8.0,在网上查了下,发现最新版本的yum源也包含了旧版本,而我们,只需要在安装时启用 5.7 的安装即可。
本人环境:CentOS 7.6 64位
1.检查CentOS是否有系统自带的mysql
yum list installed | grep mysql
如果存在系统自带的mysql及依赖,则通过 yum remove 将其卸载
2.在官网中获取yum源

这里获取到的是最新版本的下载地址:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
3.CentOS中下载rpm包,并安装本地mysql源
下载rpm包:wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm --no-check-certificate
安装mysql源:yum localinstall mysql80-community-release-el7-3.noarch.rpm
通过 yum localinstall 安装mysql源,可以帮助我们解决本地rpm包的依赖问题。
最后,验证是否安装成功:yum repolist all | grep mysql
在这里插入图片描述

4.修改默认安装版本为5.7
从上面的图片,我们可以看到,默认是MySQL 8.0可用,我们若想安装MySQL 5.7,则需启用5.7。接下来通过直接修改配置文件来设置启用。
vim /etc/yum.repos.d/mysql-community.repo
输入上面的命令,在编辑界面,先输入 i 进入编辑模式,将8.0的 enabled 设置为0,将5.7的 enabled 设置为1,如下:
在这里插入图片描述

接着按 Esc 退出编辑模式,最后输入 :wq 保存并退出。
再次输入命令:yum repolist all | grep mysql ,可以看到8.0已被禁用,而5.7是启用的。
在这里插入图片描述

5.安装MySQL
yum -y install mysql mysql-server
(若安装出错,则使用下面命令yum -y install mysql mysql-server --nogpgcheck)
输入上面命令,进行安装即可。
点我复制[root@wintest mysql]# yum install mysql-community-server
6.启用MySQL
在CentOS 6中,我们一般通过 service mysqld start 来启动mysql,在CentOS 7中,如果直接输入 service mysqld start ,则会出现以下信息:
在这里插入图片描述

这是因为 CentOS 7 下重启服务不再通过 service 操作,而是通过 systemctl 操作,因此我们可以输入命令:
启动mysql:systemctl start mysqld.service
查看mysql状态:systemctl status mysqld.service
在这里插入图片描述

7.登录mysql
mysql -u root -p

在要求输入密码时,因为mysql 5.7的初始密码不是空,直接按回车键不能成功登录,因此需先找到初始密码,才能登录。
grep ‘temporary password’ /var/log/mysqld.log
在这里插入图片描述

如上,最后的内容就是初始密码。
再次登录,输入初始密码,即可成功登录。
在这里插入图片描述

第一次登录成功后,发现不能执行操作,同时提示让修改密码。
8.修改登录密码
alter user root@localhost identified by ‘新密码’
在这里插入图片描述

这里,我想设置新密码为 123456,但出现了报错,这里的报错是mysql的密码策略问题,输入命令:show variables like ‘validate_password%’,查看 mysql 初始的密码策略,发现密码的最小长度为8,密码的验证强度等级为MEDIUM,可以修改一下密码策略:
设置密码的验证强度等级:set global validate_password_policy=LOW;
设置密码的最小长度:set global validate_password_length=4;
在这里插入图片描述

好了,这时我们再次执行修改密码的sql,便不会报错了。
最后通过 flush privileges; 刷新权限,使当前操作立即生效,就大功告成了。
在这里插入图片描述

注意:最后这里,也可以不修改密码策略,只要自己设置的密码满足MySQL的原密码策略即可。

Myslq允许远程Navicat连接配置:
MySql 权限允许远程登录(先在服务上进入数据库,命令:mysql -uroot -proot 然后分别执行下面的两句 )
在这里插入图片描述

GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION; FLUSH PRIVILEGES;

flush privileges;

Mysql配置文件:/etc/my.cnf
Myslqr日志:/var/log/mysqld.log

问题处理
mysql启动错误[ERROR] [FATAL] InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!

原因是默认data目录不为空照成;
删除默认data目录:/var/lib/mysql

参考文档https://www.cnblogs.com/wintest/p/11483559.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值