MySql错误合集
1.null, message from server: “Host ‘10.0.0.1’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’”
主要是因为同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞
【解决方法】
方法一:临时解决问题
1 | ## 查找mysqladmin命令位置 |
方法二:修改配置
1 | ## 登录mysql |
1.unblock with ‘mysqladmin flush-hosts’错误处理 mysqladmin flush-hosts
2.mysql 连接出错 ‘mysqladmin flush-hosts’ 提高允许的max_connection_errors数量,使用 flush-hosts 命令。
3.Linux查看mysql 安装路径和运行路径 查看mysql安装路径:whereis mysql
4.How to unblock with mysqladmin flush hosts
5.mysql连接flush-hosts问题处理 登录数据库,直接使用 mysql> flush hosts; 命令,这个方法对我不奏效,出现了错误:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘-hosts’ at line 1
2.message from server: “Host ‘_gateway’ is not allowed to connect to this MySQL server”
MySQL 8.0
1 | mysql -u root -p |
3.启动失败
我在Docker中安装了MySQL,启动不了了。
日志文件:
1 | vi /var/log/mysqld.log |
有用的信息显示:Data Dictionary initialization failed.
【解决】
1 | ## 查看配置 |
1. CentOS 7下MySQL服务启动失败的解决思路
2.CentOS7 MySQL8.0 启动失败 Data Dictionary initialization failed 我和他做的一样
4.Access denied for user ‘root’@’localhost’ (using password: YES)
5.Can not perform keyring migration : Invalid –keyring-migration-source option.
[尝试]
mysqld命令是MySQL的主程序,用来安装初始化;mysql是MySQL的命令行工具;这里因为命令敲成了mysqld -u root -p导致的,正确的命令应该是mysql -uroot -p
1.连接mysql报错:Can not perform keyring migration : Invalid –keyring-migration-source option.
2.mysql server 8.0 keyring migration error at login
6.Cannot invoke “java.util.Map.get(Object)” because “this.serverVariables” is null
【解决方法】
MySQL版本(我的是8.0.17)和数据库驱动版本不符合造成,升级mysql数据库驱动就可以了。
1.Java连接MySQL数据库
7.Authentication plugin ‘cache_sha2_password’ cannot be loaded
本来我想着要修改密码的,后来我解决方法就是换了一个Dbeaver,重新尝试了。
【1】.解决Authentication plugin ‘caching_sha2_password‘ cannot be loaded问题 解决问题方法有两种,一种是升级navicat驱动(博主用的是navicat是19年装的了,其他软件同理),另一种是把mysql用户登录密码加密规则还原成mysql_native_password。