Navicat 连接服务器遇到的问题

在luxin服务其上安装了mysql,通过ssh连接到服务器 登陆上Mysql 一切都正常

尝试用Navicat连接 服务器的mysql 报错10061

从此以后走上解决问题的道路:

由于在ssh连上之后可以正常使用mysql ,考虑是权限的问题

于是:查到资料增加权限 

#标准语法
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

#我使用的
  给root增加远程连接的功能 密码是 @L1Y1ru000
grant all privileges on *.* to root@"%" identified by "@L1Y1ru000";

增加权限的时候,又报错: 1819   是说密码不符合 密码安全等级的意思

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

ERROR 1819 (HY000): Your password does not satisfy the current policy requiremen

【原因】

原来MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。
使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置。影响的语句和函数有:create user,grant,set password,password(),old password。

查看我的密码等级;

参考文章:    mysql 密码强度规则设置           设置简单密码报错ERROR 1819 (HY000)


mysql> select @@validate_password_policy;

+----------------------------+

| @@validate_password_policy |

+----------------------------+

| MEDIUM                     |

+----------------------------+

1 row in set (0.00 sec)

 

 

mysql> SHOW VARIABLES LIKE 'validate_password%';

+--------------------------------------+--------+

| Variable_name                        | Value  |

+--------------------------------------+--------+

| validate_password_dictionary_file    |        |

| validate_password_length             | 8      |

| validate_password_mixed_case_count   | 1      |

| validate_password_number_count       | 1      |

| validate_password_policy             | MEDIUM |

| validate_password_special_char_count | 1      |

+--------------------------------------+--------+

6 rows in set (0.08 sec)

 如果密码不符合检验规则,有两种做法:

第一修改密码,使密码符合规则:

如何修改mysql密码参考下面的文章

MySQL修改root密码的4种方法    

https://blog.csdn.net/shangyuanlang/article/details/80814410

但是 这篇文章提供的方法我的不能用,可能是mysql版本的不同

我修改密码用的是:

alter user'root'@'%' IDENTIFIED BY '@L1Y1ru000'; 

第二修改密码检验的规则


mysql> set global validate_password_policy=0;

Query OK, 0 rows affected (0.05 sec)



mysql> 

mysql> 

mysql> set global validate_password_mixed_case_count=0;

Query OK, 0 rows affected (0.00 sec)



mysql> set global validate_password_number_count=3;

Query OK, 0 rows affected (0.00 sec)



mysql> set global validate_password_special_char_count=0;

Query OK, 0 rows affected (0.00 sec)



mysql> set global validate_password_length=3;

Query OK, 0 rows affected (0.00 sec)



mysql> SHOW VARIABLES LIKE 'validate_password%';

+--------------------------------------+-------+

| Variable_name                        | Value |

+--------------------------------------+-------+

| validate_password_dictionary_file    |       |

| validate_password_length             | 3     |

| validate_password_mixed_case_count   | 0     |

| validate_password_number_count       | 3     |

| validate_password_policy             | LOW   |

| validate_password_special_char_count | 0     |

+--------------------------------------+-------+

6 rows in set (0.00 sec)


密码符合规则以后:回到增加权限的步骤

再次尝试远程登陆,还是不行:

解决方法:

1. 打开/etc/mysql/mysql.conf.d/mysqld.cnf文件

2. 在bind-address=127.0.0.1前加#注释,或者直接删掉这行

3. 保存关闭mysqld.cnf文件,输入service mysql restart重启mysql数据库

发布了81 篇原创文章 · 获赞 50 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/l23456789o/article/details/100795681