Navicat连接MariaDB踩过的坑

服务器部署了MariaDB . 首先开启远程连接:

进到MariaDB的bin目录:

登录mysql

mysql -u root -p 123456
use mysql
grant all privileges on . to root@’%’ identified by ‘123456’;
flush privileges;

之后客户端连接时报错:

1 idea启动报错:Access denied for user 'root '@‘192.168.100.XXX’ (using password: YES)

解决方案:这个通常是用户权限的问,用客户端可视化工具登录,查看相关用户的权限并设置即可。更多解决方案参看:

https://blog.csdn.net/tspangle/article/details/37761147

2.MySql Host is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

解决办法: a、提高允许的max_connection_errors数量:
  ① 进入Mysql数据库查看max_connection_errors: show variables like ‘%max_connect_errors%’;
  ② 修改max_connection_errors的数量为1000: set global max_connect_errors = 1000;
  ③ 查看是否修改成功:show variables like ‘%max_connect_errors%’;
 连接超时查看与设置:show global variables like ‘%timeout%’
    set global wait_timeout=28800
   
b、使用mysqladmin flush-hosts 命令清理一下hosts文件(不知道mysqladmin在哪个目录下可以使用命令查找:whereis mysqladmin);
  ① 在查找到的目录下使用命令修改:mysqladmin --socket=/tmp/kkimdb.sock --port=3306 -uhyman -p flush-hosts
  备注: 配置有master/slave主从数据库的要把主库和从库都修改一遍的(我就吃了这个亏明明很容易的几条命令结果折腾了大半天);
mysql> flush hosts; 也可以
max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。max_connect_errors的值与性能并无太大关系。
默认情况下,my.cnf文件中可能没有此行,如果需要设置此数值,手动添加即可。
[root@www ~]# vi /etc/my.cnf
max_connect_errors = 1000

3.mysql链接错误:Lost connection to MySQL server at ‘reading authorization packet’, system error: 0

my.cnf 的存放位置在:C:\Program Files\MariaDB 5.5\data
解决方法:在my.cnf配置文件中的[mysqld]区域添加skip-name-resolve,即跳过mysql连接的DNS反向解析功能,这样能很好地提高mysql性能。详情参看:https://www.cnblogs.com/aten/p/9726550.html

4.root 密码忘记了,怎么办?
  
 解决办法参看:https://blog.csdn.net/qq_40909940/article/details/86632459

哎,IIS 连接个Mysql真是各种的错误,真是花费了我不少时间。总算一切正常了。初次使用mysql ,记录一下。避免下次再折腾!

你可能感兴趣的:(数据库)