-
下载安装包
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
未安装wget的同学执行以下命令安装
sudo yum install wget
-
安装
sudo rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum update sudo yum install mysql-server
安装成功
-
设置密码
第一次启动Mysql服务器时,为mysql根用户生成一个临时密码,通过以下命令找到密码
sudo grep 'temporary password' /var/log/mysqld.log
如果没有输出内容,可能是因为之前安装过mysql,有残留数据
- 删除原来安装过的mysql残留的数据
rm -rf /var/lib/mysql
```
3. 重启mysqld服务
```bash
systemctl restart mysqld
- 再去找临时密码
grep ‘temporary password’ /var/log/mysqld.log
```
配置mysql安装项
```bash
sudo mysql_secure_installation
输入刚才的临时密码
然后设置新的密码和一些其他设置,一般情况下都是输入y;密码有安全设置安全级(必须至少包含8个字符并且至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符)
如果想设置简单的密码
- 在安装Mysql数据库的主机上登录root用户
mysql -u root -p
- 查看mysql初始的密码策略(如果显示Your password does not satisfy the current policy requirements不用管,跳过查看这一步,直接往下设置密码即可,设置完成之后就可以查看了)
SHOW VARIABLES LIKE 'validate_password%';
- 需要设置密码的验证强度等级,设置validate_password_policy的全局参数为LOW即可
set global validate_password_policy=LOW;
- 设置密码长度为4(默认是8,不设置也可以)
set global validate_password_length=4;
- 然后就可以为mysql设置简单密码了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
-
在用navicat配置远程连接Mysql数据库时报错(1130-Host XXX is not allowed to connect to this MySQL server)
两个原因:一是当前用户被mysql服务器拒绝了,另一个原因是3306端口被防火墙禁掉了(关闭防火墙就行了)
-
同样在安装Mysql数据库的主机上登录root用户
mysql -u root -p
-
执行以下命令,设置所有主机都可以访问也可以用GRANT ALL PRIVILEGES ON . TO ‘root’@’%'WITH GRANT OPTION; 这个命令进行,但是我使用这条命令的时候,发现报错找不到GRANT命令,所以只能用下面的方法一步一步设置
mysql>user mysql Database changed mysql>select host from user where user='root';
将Host设置为通配符%
Host列指定了允许用户登录所使用的IP,比如user=root Host=localhost。这里的意思就是说root用户只能通过本机的客户端去访问,而%是一个通配符,如果Host=%,表示所有IP都有连接权限,便可以允许远程访问
注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置
update user set host = '%' where user ='root';
-
Host修改完成后记得执行flush privileges使配置立即生效
flush privileges;
-
-
之后就可以用navicat成功连接至mysql
参考文章:
https://blog.csdn.net/zd147896325/article/details/82427107
https://blog.csdn.net/Hello_World_QWP/article/details/79551789
https://blog.csdn.net/lizy928/article/details/82531749