mysql用户无法访问 1045:在使用mysqlbinlog分析日志时报错UTF-8

解决MySQL登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor=YES)问题
fi53t1045Access denied for user Teacher @ localhost ( using passwordYES
fi53t1045用户Teacher@localhost的访问被拒绝(使用passwordYES
解决方案
既然现在没法登录到数据库中,改密码和添加用户等操作也无从谈起。好在MySQL中还提供了一种免去密码校验进入数据库的方法,我们就先使用这种方法登入到数据库中。然后将默认密码替换掉,上面的问题就可以解决掉啦~具体操作如下

一、找到Mysql配置文件
这个操作,在不同平台下对应的不同的操作文件
mac系统中配置文件是mysql安装目录support_file下的my-default文件
ps:windows系统的配置文件是mysql安装根目录的my.ini文件

二、修改配置文件
打开刚才我们找到的配置文件,然后在里面找到 [mysqld] 这一项,然后在该配置项下添加 skip-grant-tables 这个配置,然后保存文件。


三、重启mysql服务
为了使上一步的配置项生效,我们需要重启MySQL的服务
Mac系统可以在系统偏好中进行重启:

2.  在使用mysqlbinlog分析日志时,报错:mysqlbinlog: unknown variable 'default-character-set=utf8'


原因分析:
产生这个问题的原因是因为我在my.cnf中的client选项组中添加了:
 default-character-set=utf8
这个是mysqlbinlog的一个bug


解决方法:
使用mysqlbinlog工具查看二进制日志时会重新读取的mysql的配置文件my.cnf,而不是服务器已经加载进内存的配置文件。
只要修改并保存了my.cnf文件,而不需要重起mysql服务器。
所以这里可以使用此方法:把client选项组中default-character-set=utf8选项屏蔽掉,如
 
#default-character-set=utf8
 
然后运行mysqlbinlog工具,则不会产生任何问题了。当然记得在不在使用mysqlbinlog工具时,把#default-character-set=utf8
选项恢复为default-character-set=utf8;

没有不会的技术,只有你想不到的技术。。。。。。。。。。。。。。
原文地址:https://www.cnblogs.com/zenghongfei/p/12826390.html