方法一:也可使用清华镜像源安装,安装链接如下
两种方法从步骤五操作一致,参考方法二
链接: [https://mirror.tuna.tsinghua.edu.cn/help/mysql]
方法二:安装步骤如下
步骤一:删除之前的mysql残留
如果你之前有安装过mysql请先阅读一下这篇文章: 卸载清理
如果是第一次安装mysql请从步骤二开始阅读
步骤二:升级一下系统版本和内核版本
因为的的CentOS从官网下载的,可能比较老,安装其他软件的时候总是出现一些奇怪的问题,所以推荐升级。
执行命令
yum -y update
- 1
稍微等待一下就好
步骤三:下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
- 1
步骤四:使用yum安装
yum -y install mysql57-community-release-el7-11.noarch.rpm
- 1
步骤五:安装MySQL服务器
yum -y install mysql mysql-server mysql-devel
- 1
步骤六:启动MySQL
systemctl start mysqld.service
- 1
步骤七:查看MySQL运行状态
systemctl status mysqld.service
- 1
步骤八:查找Mysql密码
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
grep "password" /var/log/mysqld.log
- 1
步骤九:进入数据库
mysql -uroot -p
- 1
步骤十:输入初始密码,登录
步骤十一(注意开始进入关键阶段的配置了):修改Mysql密码设置的规范
如果直接设置密码的话可能会报错,因为MySQL有密码设置的规范,这里我先修改两个属性(validate_password_policy和validate_password_length)
这两个属性的详细说明:
validate_password_policy
判断修改密码时候新密码是否符合当前的策略,不满足报错,不让修改。
- 1
- 2
validate_password_length
密码长度的最小值
- 1
- 2
步骤十二:修改validate_password_length
这里我设置密码长度的最小值是3,也就是说我的密码长度必须够3位数,比如123
set global validate_password_length=3;
- 1
步骤十三:修改validate_password_policy
设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。
set global validate_password_policy=0;
- 1
步骤十四:设置初始密码
这里我数据库的密码就设置123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
- 1
步骤十五:查看完整的初始密码规则
设置完初始密码后才能查看
SHOW VARIABLES LIKE 'validate_password%';
- 1
步骤十六:编辑配置文件
退出mysql
exit;
- 1
编辑 /etc/my.cnf
vim /etc/my.cnf
- 1
步骤十七:新增端口属性(port)
新增端口后保存并退出
步骤十八(配置root用户远程连接):登录Mysql
密码是步骤十四你设置的密码哦
mysql -uroot -p
- 1
步骤十九:选择数据库
选择mysql数据,因为用户表(user)在这个数据库里
use mysql
- 1
步骤二十:查询User表
select `user`,authentication_string,`Host` from `user`;
- 1
查询mysql库中的user表,可以看到root目前只支持localhost本机连接
步骤二十一:增加root允许其他主机进行连接
执行下面这段语句
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
- 1
123456为连接密码,%为任意主机,就是任意主机可以通过用户名root + 密码12345 进行连接,你也可以指定只允许某IP的主机进行连接。
注意:这里可能会出现ERROR 1819 (HY000): Unknown error 1819这个错误
如出现请先跳转到这篇博客:解决办法
步骤二十二:重新加载用户权限
flush privileges;
- 1
步骤二十三:再次查询User表就发现多了一条记录
select `user`,authentication_string,`Host` from `user`;
- 1
步骤二十四:检查防火墙状态
退出数据库
exit;
- 1
查看当前防护墙状态
firewall-cmd --state
- 1
running 表示开启状态
步骤二十五:关闭防火墙
提示:如果防火墙已经关闭了,这一步可以省略
systemctl stop firewalld
- 1
步骤二十六:再次查看防火墙状态
not running表示防火墙处于关闭状态