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;