navicat连接mysql报错1251的解决方法

下载

wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

安装数据源

yum install mysql80-community-release-el8-1.noarch.rpm

检查数据源

yum repolist enabled | grep "mysql.-community."

禁用CentOS8自带mysql模块

yum module disable mysql

安装数据库

yum install mysql-community-server

启动mysql

service mysqld start
service mysqld status

显示mysql的随机密码

grep 'temporary password' /var/log/mysqld.log

登录mysql

mysql -u root -p

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test_123456';

查看密码策略

SHOW VARIABLES LIKE 'validate_password%';

开放远程访问

1.创建权限用户记录

create user 'root'@'%' identified by 'Test_123456';

2. 授权

grant all privileges on . to 'root'@'%' with grant option;

错误解决
mysql8:navicat连接mysql报错1251的解决方法

原因: mysql8 之前的版本中加密规则是 mysql_native_password,而在 mysql8 之后,加密规则是caching_sha2_password

解决:

升级 navicat 驱动(此处需正版navicat,我的是破解故采用第二种)

第二种方法

首先以管理员身份运行 cmd,然后使用命令进入 mysql ;

mysql -u root -p
password
(注意:如果你在输入 mysql -u root -p后,cmd 提示 mysql 不是内部或外部命令,也不是可运行的程序或批处理文件,说明你之前安装mysql 后没有在环境变量 PATH 中将 mysql 的路径添加进去。见上方在环境变量Path中添加mysql路径;)

在mysql中先更改加密方式;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
更改密码,由于加密规则更改,所以需要重新设置密码;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
刷新一下数据库;

FLUSH PRIVILEGES;

posted @ 2022-06-27 13:40  风中凌猿  阅读(197)  评论(0编辑  收藏  举报