Linux 安装完mysql
mysql -uroot -p 进去之后我们发现,会让我们设置密码,然而我们安装的时候并没有设置密码,这是5.7之后安装完出现临时密码。这个密码我们还要修改之后才能进去,
首先查看默认密码
[root@~]# yum install mysql-server
[root@~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
[root@~]# whereis mysqlm
[root@~]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
[root@~]# ls /etc/yun.repos.d/
ls: cannot access '/etc/yun.repos.d/': No such file or directory
# 没有目录 创建: mkdir -p /etc/yun.repos.d/
[root@ ~]# yum install mysql-server
[root@~]# systemctl start mysqld
[root@ ~]# grep "temporary password" /var/log/mysqld.log
grep: /var/log/mysql.log: No such file or directory
#查看日志 启动密码 没有的话 find / -name mysqld.log 这个文件在什么目录
[root@mysql]# find / -name mysqld.log
/var/log/mysql/mysqld.log
/var/lib/docker/overlay2/8c7c60351c5659b1317270f05fcb2a98e56950a46122cb9c9153aefbde0fcb45/diff/var/log/mysqld.log
[root@mysql]# grep "temporary password" /var/log/mysql/mysqld.log
#注意如有密码就提示下面这一行,没有密码就是默认空
grant all on *.* to root@'%' identified by '密码' with grant option;
[root@~]# service mysqld restart
[root@~]# mysql -u root -p
[root@VM-4-3-opencloudos mysql]# mysql -u root -p
Enter password: (没有密码直接回车)
alter user user() identified by "123456";
#退出直接123456登录
冒号后都是密码哦
- 不修改默认密码就会出现这个问题
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
然后经过我慢长反复的尝试寻早方法终于是这样的
有要切换use mysql;但是都会弹出 1820的错误
- 但是尝试这个
mysql> alter user user() identified by "123456";
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
却发现密码策略有问题 完了,然后使用
mysql> SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值
关于 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 整个密码中至少要包含特殊字符的个数; - 然后在使用
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
开启远程+
grant all on *.* to root@'%' identified by 'youpaswd' with grant option;
quit;退出;
这样就OK了