1 、安装完成mysql后登录不上mysql
一、使用$ mysql 进入mysql的命令行时报错,我遇到2种。
1:没有添加软件连接,如下图。
解决方法:建立软件连接。
$ ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
2:没有密码不能进入,如下图。
(1)、查找临时密码
$ grep “password” /var/log/mysqld.log
(2)、使用临时密码登录
$ mysql –u root –p’临时密码’ 必须加引号
(3)、进入后会提示让先更改密码
mysql>ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘临时密码’;//说明这里必须是临时密码,因为有密码设置条件,设置其他的可能不成功。
mysql> flush privileges;
mysql>exit;
(4)、使用修改后的密码进入mysql(步骤3的密码)
$ mysql -u root –p’密码’
mysql> show variables like ‘validate_password%’;//查看mysql密码设置条件
±-------------------------------------±-------+
| Variable_name | Value |
±-------------------------------------±-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 | // 最少8位
| validate_password_mixed_case_count | 1 | //大写字母和小写字母的个数
| validate_password_number_count | 1 |//数字个数
| validate_password_policy | MEDIUM |// 密码强度检查等级 0/LOW,1/MEDIUM,2/STRONG
| validate_password_special_char_count | 1 |// 特殊字符数
±-------------------------------------±-------+
(5)、mysql密码设置条件
$ set global validate_password_number_count=0;
±-------------------------------------±------+
| Variable_name | Value |
±-------------------------------------±------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 7 |
| validate_password_mixed_case_count | 0 |
| validate_password_number_count | 0 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 0 |
±-------------------------------------±------+
(6)、在次修改为自己想要设置的密码
mysql> use mysql;
mysql> select host, user from user;
mysql> update user set host = ‘%’ where user = ‘root’;//允许远程机器连接
mysql> select host, user from user;
mysql> FLUSH PRIVILEGES;
mysql> update user set authentication_string=PASSWORD(‘root123’) where User=‘root’;//修改密码