Linux中安装mysql
写本文的缘由是,网上资源虽然多,但是每个人的电脑环境不一样,遇到的问题也不一样。我光安装这个mysql就花了4-5个小时,一直在找我所遇到的各种问题。。。心累。所以写下这篇文章,虽然不是原创,但是较为详细,希望对大家有所帮助。
1.下载安装包
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
未安装wget的同学执行以下命令安装
sudo yum install wget
2.安装
安装之前需要卸载原有的MySQL,这里就不再赘述了。
sudo rpm -ivh mysql57-community-release-el7-8.noarch.rpm
sudo yum install mysql-server
安装过程中的公钥未安装错误
解决办法:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
再次安装,成功
yum install mysql-server
3. 启动mysql数据库
启动mysql
service mysql start
如果报 Failed to start mysql.service: Unit not found. 使用下面一条
systemctl start mysqld
我就是一直用第一个指令,找不对mysql服务,然后给我心态搞炸。
4. 查找密码
当第一次启动MySQL服务器时,为MySQL根用户生成一个临时密码。 您可以通过运行以下命令找到密码:
sudo grep 'temporary password' /var/log/mysqld.log
输出如下内容:
密码为A temporary password is generated for root@localhost: 后面的内容
如上如:
密码就为:c0PukYrv,D%n
5. 登录
mysql -uroot -pc0PukYrv,D%n
6. 设置密码
第一次登录输入命令会mysql会让你设置密码
set password = password('密码');
如果设置密码太过简单就会报错,可以设置安全性高的代码,也可以进行如下操作:
1.首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可。
set global validate_password_policy=LOW;
2、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 4 位的密码,设置 validate_password_length 的全局参数为 4 即可,
set global validate_password_length=6;
现在可以为 mysql 设置简单密码了,只要满足四位的长度即可
7.使用Sqlyog 远程连接mysql
1. 进入mysql设置远程登录权限
grant all privileges on *.* to 'root' @'%' identified by '密码';//密码是自己设置的
注意:如果密码不安全就会报错
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决方案
对于5.7版本的mysql,即可解决问题
set global validate_password_policy=0;
set global validate_password_length=1;
2. 刷新mysql权限
flush privileges;
3. 关闭防火墙
centos7 用下面这条指令
service firewalld stop
如果不行
service iptables stop
4. Sqlyog 连接
在windows中打开sqlyog新建连接
注:在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,
只要设置密码的长度小于 3 ,都将自动设值为 4 ,如下图:
关于 mysql 密码策略相关参数;
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
本文参考:
https://blog.csdn.net/lizy928/article/details/82531749
https://blog.csdn.net/hello_world_qwp/article/details/79551789
(如有侵权,望告知,本人立即删除)