CentOS7 安装 Mysql8 并配置远程登录
检查系统环境
以下五步完成之后,这样mysql就全部删除干净了,若没安装过mysql可忽略以上步骤
- 查找是否安装 mysql
rpm -qa | grep mysql
- 如果已安装需卸载 mysql
一般用rpm -e 的命令删除mysql,这样表面上删除了mysql,可是mysql的一些残余程序仍然存在,并且通过第一步的方式也查找不到残余,而yum命令比较强大,可以完全删除mysql.(ps:用rpm删除后再次安装的时候会提示已经安装了,这就是rpm没删除干净的原因)
yum -y remove mysql-*
- 把所有出现的目录全部删除
find / -name mysql
- 删除配置文件
rm -rf /etc/my.cnf
- 删除 mysql 的默认密码
rm -rf /root/.mysql_sercret
下载安装官网 yum 源
- 将 mysql rpm 源文件下载
wget -P /opt/software https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- 安装下载好的 rpm 文件
cd /opt/software
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
3. 查看是否安装成功
ll /etc/yum.repos.d
安装 mysql 服务器
安装过程比较久,请耐心等待
yum -y install mysql-community-server
测试 mysql 是否安装成功
启动 mysql 服务器
systemctl start mysqld
查看并使用临时密码登录
- 查看临时密码
安装完mysql之后,会生成一个临时的密码让root用户登录
grep "A temporary password" /var/log/mysqld.log
- 使用临时密码登录 mysql
mysql -uroot -p
在Enter password:后面输入临时密码
登录成功
更改临时密码
mysql> alter user 'root'@'localhost' identified by 'aB12345678@';
无论如何都要先修改一次密码,否则查询修改都执行不了
如果密码太简单则会出现此提示为密码不符合当前策略,需要设置复杂的密码或者修改密码验证策略!
设置必须符合策略的密码(大小写字母 + 数据 + 符号)
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
修改密码验证策略
如果觉得密码过于复杂可以修改密码策略
- 先看看当前的密码验证策略
show variables like 'validate_password.%';
- 策略说明
# 是密码的最小长度,默认是8,我们把它改成4(好像最小就是4位密码)
set global validate_password.length=4;
# 验证密码的复杂程度,我们把它改成0
set global validate_password.policy=0;
# 用户名检查,用户名和密码不能相同,我们也把它关掉
set global validate_password.check_user_name=off;
- 再执行修改密码的命令
alter user 'root'@'localhost' identified by '0000';
mysql 远程连接数据库
默认情况下 mysql 是不允许用户远程连接数据库的
- 查看 Mysql 默认用户
use mysql;
select host,user,authentication_string,plugin from user;
发现 root 的 host 是 localhost,不是%,可以加个 host 是%的 root 账号:
2. 创建远程账号
create user 'root'@'%' identified by '0000';
# 查看 mysql 用户
select host,user,authentication_string,plugin from user;
重新执行查看 mysql 用户命令
- 授权用户
grant all on *.* to 'root'@'%';
- 尝试远程连接
主机:安装在服务器IP