mysql使用遇到问题总结

1. 使用sqlyog连接mysql报错,错误码 1251

错误场景:
使用sqlyog连接mysql在账户名和密码都正确的情况下总是失败
但是在windows cmd窗口下用同样的账户名和密码操作就没有任何问题
报错信息 :
错误代码 1251
client does not support  authentication protocol requested by server; consider upgrading MySQL client
报错原因:
mysql8 之前的版本中加密规则是mysql_native_password,
而在mysql8之后,加密规则是caching_sha2_password.
但是当前有很多数据库工具和链接包都不支持“caching_sha2_password”,
比如说我用的这个版本的sqlyog,
所以,我们需要将加密规则更改为: mysql_native_password。
解决方案:
	1. 修改my.ini配置文件
	在mysql8的版本中,解压后的安装包不含该文件,所以我们需要手动创建
	举例 : 我的mysqll安装在
	E:\softWare\bigData\mysql8.0\mysql-8.0.11-winx64这个目录下
	所以,我就要在当前目录新建my.ini文件,如下:
	E:\softWare\bigData\mysql8.0\mysql-8.0.11-winx64\my.ini

文件内容如下:

	[mysqld]
	# 设置3306端口
	port=3306
	# 设置mysql的安装目录
	basedir=E:\softWare\bigData\mysql8.0\mysql-8.0.11-winx64
	# 设置mysql数据库的数据的存放目录
	datadir=E:\softWare\bigData\mysql8.0\mysql-8.0.11-winx64\data
	# 允许最大连接数
	max_connections=200
	# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
	max_connect_errors=10
	# 服务端使用的字符集默认为UTF8
	character-set-server=utf8
	# 创建新表时将使用的默认存储引擎
	default-storage-engine=INNODB
	# 默认使用“mysql_native_password”插件认证
	default_authentication_plugin=mysql_native_password
	[mysql]
	# 设置mysql客户端默认字符集
	default-character-set=utf8
	[client]
	# 设置mysql客户端连接服务端时默认使用的端口
	port=3306
	default-character-set=utf8

但是我修改了该文件之后,连接仍然报相同的错误,也就是说配置没有生效.
现在回想起来应该是我更改完配置没有重启mysql导致的!

	2.在cmd中依次执行以下命令 : 
	 ALTER USER '用户名'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;  #修改加密规则
	 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; #更改用户的密码
	 FLUSH PRIVILEGES; #刷新

修改完之后,输入新的用户名密码进行连接,显示界面如下:
连接成功!!!
问题得到解决!

2.安装好mysql8.0.11,启动时遇到的问题

问题描述:
执行 net start mysql  提示 : 服务名无效 
解决方法:
执行命令:
mysqld --install
后续报错:
信息如下:
Install/Remove of the Service Denied
解决方法:
进入到c盘 windows目录 system32, 找到cmd.exe文件,右键--> 以管理员的身份运行即可
然后在执行 net start mysql 命令, 成功进入到mysql界面!

3. 使用mysql创建用户报错: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

问题描述:
# 执行如下命令时,报错:
create user 'azkaban'@'%' identified by 'azkaban';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
问题原因:

自定义密码过于简单,不符合密码策略

解决方法:
  1. 设置一个符合密码策略的密码,例如: xmr123456(推荐)
  2. 修改密码策略,使我们可以设置简单密码:
# 修改密码策略等级为low
set global validate_password.policy=LOW;

# 设置密码长度至少为 6
set global validate_password.length=6;

# 最后设置密码为 azkaban
ALTER USER 'root'@'localhost' IDENTIFIED BY 'azkaban';

这样就OK了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值