目录
【问题1】、FATAL: error 1130: Unknown error 1130
【问题3】、ERROR 2003 (HY000): Can't connect to MySQL server on "" (113)
【问题4】、FATAL: error 2003: Can't connect to MySQL server on '172.19.111.151' (111)
【问题5】、mysql Error 1040 too many connection
【问题6】、FATAL:error 2000: Unknown error 2000
【问题7】、ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
【问题8】、FATAL: error 1049: Unknown error 1049
【问题12】、FATAL: error 2004: Can't create TCP/IP socket (24)
【问题13】、FATAL: Worker threads failed to initialize within 30 seconds!
【问题14】、warning:changed limits:max_connections:214
【问题16】、[ERROR] Could not open unix socket lock file /tmp/mysql.sock.lock.
【问题18】、Could not create unix socket lock file:
【问题19】、MySQL 5.5 升级 5.6 报错: mysqld got signal 11
B.2. 客户端错误代码和消息客户端错误信息来自下述源文件:
【问题1】、FATAL: error 1130: Unknown error 1130
prepare阶段,报错:“FATAL: unable to connect to MySQL server on host '172.19.111.151', port 3306, aborting...”
FATAL: error 1130: Unknown error 1130
【原因】: MySQL默认不允许root远程连接。
【解决办法】:修改权限,客户端登入mysql,
(1)、使用mysql库:use mysql;
(2)、查看用户表:SELECT `Host`,`User` FROM user;
(3)、更新用户表,(其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可)
UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
如果不成功,试一试:update user set host = '%' where user ='root';
(4)、再次查看用户表:SELECT `Host`,`User` FROM user;
(5)、强制刷新权限:flush privileges;
问题解决!
use mysql; update user set host = '%' where user ='root'; flush privileges; SELECT `Host`,`User` FROM user;
【问题2】、FATAL: error: 1461
Sysbench run阶段,报错:
“FATAL: `thread_init' function failed: /usr/share/sysbench/oltp_common.lua:284: SQL API error
FATAL: MySQL error: 1461 "Can't create more than max_prepared_stmt_count statements (current value: 16382)"
(last message repeated 3 times)”
【原因】:max_prepared_stmt_count参数限制了同一时间在mysqld上所有session中prepared 语句的上限。它的取值范围为“0 - 1048576”,默认为16382。高并发的情况下需要调高这个值。mysql对于超出max_prepared_stmt_count的prepare语句就会报1461的错误。
【解决办法】:先将该值调大。
mysql> show global status like 'com_stmt%'; 查看各参数
mysql> show global variables like 'max_prepared_stmt_count';
mysql> set global max_prepared_stmt_count=1048576; 参数调到最大
【问题3】、ERROR 2003 (HY000): Can't connect to MySQL server on "" (113)
两台服务器相互连接,报错:
ERROR 2003 (HY000): Can't connect to MySQL server on "" (113)
【原因】:导致此错误的原因为服务器端防火墙未开放MySQL程序使用的端口,默认为3306,开放端口即可
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
systemctl stop firewalld.service 直接关闭防火墙
systemctl disable firewalld.service 禁止firewall开机启动
【问题4】、FATAL: error 2003: Can't connect to MySQL server on '172.19.111.151' (111)
一台服务器连接另一台服务器,报错:
FATAL: error 2003: Can't connect to MySQL server on '172.19.111.151' (111)
【原因】:如果想让172.19.111.152能够连接到本地172.19.111.151的这个数据库,要让数据库给其分配权限,登录mysql,执行:(username 和 password是登录mysql的用户名和密码)
如果要想所有的外部ip地址都能够访问使用mysql,可以执行下面:之后执行刷新数据库:
grant all privileges on *.* to root@'%'identified by 'mysql';//设置可以远程访问
//GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;//这条语句好像不管用
flush privileges;
【问题5】、mysql Error 1040 too many connection
解决办法:
执行以下语句修改最大连接数:set global max_connections = 3600;
【问题6】、FATAL:error 2000: Unknown error 2000
加上--mysql-ssl=on参数
【问题7】、ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
根据网上查了很多资料,出现Access denied的原因有如下可能:
(1)MySQL的服务器停止了
(2)用户的端口号或者IP导致拒绝访问
(3)MySQL的配置文件错误(my.ini等文件)
(4)root用户的密码错误
【问题8】、FATAL: error 1049: Unknown error 1049
原因:客户端中未创建sbtest数据库,数据库不存在
类似问题:pymysql.err.InternalError: (1049, “Unknown database ‘root’”)
[pymysql.connect只负责连接数据库,它不会帮你创建数据库的,你要先创建一个]
连接客户端,创建sbtest数据库create database sbtest;
mysql -u root -p password
今天在输入的时候却发现命令输入不正确,而且会要求再输入一遍密码,然后返回
“ERROR 1049 (42000): Unknown database 'password'”
-p和密码是连在一起的,他们之间没有空格
然后就问题解决自然登录上去了!!!
-u后面可以紧跟用户名,也可以加个空格,但密码后面一定不能加空格。
如果加了空格,mysql会认为后面那个是一个库名。
我们可以看看正确的语句:
(1)mysql -u root -p123
(2)mysql -uroot -p123
【问题9】、mysql error 1062
Duplicate entry ‘1’ for key ‘PRIMARY’
错误原因:主键冲突,主键值具有唯一性
解决方法:’PRIMARY’主键的值不能相同
sysbench增加参数
--mysql-ignore-errors=1062
--mysql-ignore-errors=”all”
【问题10】、MySQL ERROR 1129
问题说明:通过mysql命令连接mysql数据库的时候报了ERROR 1129的错误;
错误说明:ERROR 1129 (HY000): Host 'mysql02' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
错误原因:同一个ip在短时间内产生太多中断的数据库连接而导致的阻塞(超过mysql数据库max_connection_errors的最大值)
Maximum Value (64-bit platforms) |
18446744073709551615 |
Maximum Value (32-bit platforms) |
4294967295 |
解决方法:[root@mysql01 script]# mysqladmin flush-hosts -h 127.0.0.1 -uroot -p
Enter password:
本次使用以下方法更改:set global max_connect_errors=10000000;flush privileges;
【问题11】、error2002
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
检查/tmp/mysql.sock.lock中数字是否是mysqld的进程号
【问题12】、FATAL: error 2004: Can't create TCP/IP socket (24)
解决办法:
1、编辑 mysql.ini,在 [mysqld] 下面的区域加 enable-named-pipe;
2、检查系统的临时目录或者 MySQL 临时目录的权限;
3、在以上方法无效的情况下,建议重新安装另外版本的 MySQL。
netsh winsock reset 重置即可
winsock是windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口 netsh winsock reset 是把它恢复到默认状态
【问题13】、FATAL: Worker threads failed to initialize within 30 seconds!
问题描述:sysbench初始化线程过大,初始化线程超时,报错
解决:
sybench高版本增加了参数控制线程初始化时间
--thread-init-timeout=N wait time in seconds for worker threads to initialize [30]
【问题14】、warning:changed limits:max_connections:214
问题描述:
2020-11-02T02:03:23.463021Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 500000)
2020-11-02T02:03:23.463346Z 0 [Warning] Changed limits: max_connections: 214 (requested 100000)
2020-11-02T02:03:23.463352Z 0 [Warning] Changed limits: table_open_cache: 400 (requested 4000)
2020-11-02T02:03:23.636714Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
问题原因:操作系统层面的open files限制