因为在Xshell上面查看数据库真的很麻烦,如果能像本地数据库一样用Navicat查看数据就好了,结果一百度还真有。以下就是我用本地Navicat连接服务器数据库的经验分享!
一、首先要mysql授权
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql>FLUSH PRIVILEGES; //使命令生效
Query OK, 0 rows affected (0.00 sec)
如果运行第一句代码的时候,出现了以下错误,没有的同学可以跳过啦:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
关于这个问题是在 mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题。
解决办法:
1、查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
2、修改等级强度
我这里设置 validate_password_policy 的全局参数为 LOW
set global validate_password_policy=LOW;
这样子就不会验证密码的强度等级,但是还是会验证密码的长度。
2、修改密码长度
现在的密码长度是8,我的密码长度是14,显然满足,就没有修改了。为了照顾有的小伙伴可能密码是123456的6位长度,那就要修改设置长度了。要修改密码长度,设置validate_password_length全局参数为6 即可。
set global validate_password_length=6;
一般到这里这个问题就解决了!
补充:
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
6)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
二、Navicat远程连接数据库
1、进行常规设置
2、进行SSH设置
远程连接数成功!
如果遇到问题,看看服务器安全组的3306端口是否开放!
安全组开放3306端口
1、进入实例列表
2、进入安全组配置
3、点击右侧配置规则
4、点击右侧添加安全组规则
5、添加安全组规则
完成后点击确定即可。