【题目1】、FATAL: error 1130: Unknown error 1130
【题目2】、FATAL: error: 1461
【题目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
【题目9】、mysql error 1062
【题目10】、MySQL ERROR 1129
【题目11】、error2002
【题目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
【题目15】、Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
【题目16】、[ERROR] Could not open unix socket lock file /tmp/mysql.sock.lock.
【题目17】、ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`test`.`t`.`a` - `test`.`t`.`b`)' .
【题目18】、Could not create unix socket lock file:
【题目19】、MySQL 5.5 升级 5.6 报错: mysqld got signal 11
mysql error code(备忘)
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)
题目分析:通过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的进程号
【题目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:changedlimits: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限制为1024,可通过一下命令查询系统的open files的限制为多少:
ulimit -Sa|grep "open files"
ulimit -Ha|grep "open files"
所以此处 open_files_limit就取了操纵系统open files限制的值1024
办理方法:
vi /etc/security/limits.conf
增加以下两行
* hard nofile 65535
* soft nofile 65535
【题目15】、Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
添加 --user=root
【题目16】、[ERROR] Could not open unix socket lock file /tmp/mysql.sock.lock.
办理:
检察该文件发现确实是空文件,删除该文件后再启动服务已经可以正常启动。
rm -f /tmp/mysql.sock /tmp/mysql.sock.lock
2020-11-18T03:26:18.199118Z 0 [ERROR] InnoDB: Operating system error number 11 in a file operation.
2020-11-18T03:26:18.199201Z 0 [ERROR] InnoDB: Error number 11 means 'Resource temporarily unavailable'
2020-11-18T03:26:18.199254Z 0 [Note] InnoDB: Some operating system error numbers are described at http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
2020-11-18T03:26:18.199281Z 0 [ERROR] InnoDB: File ./ibtmp1: 'delete' returned OS error 111.
【题目17】、ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`test`.`t`.`a` - `test`.`t`.`b`)' .
根本原因是由于这样减法的结果会凌驾Mysql数值字段的范围,从而触发1690报错。
ERROR 1690 Out-of-Range
当Mysql中的数字字段存储了一个凌驾允许范围的数字时,会触发1690 Out of Range错误,是否触发错误取决于SQL运行时的模式:
当标准 Standar Mode 或 Strict Mode 运行时,数据插入会失败
当非限制模式 No Restrictive 运行时,Mysql将数值转化为范围允许内的最大或最小值举行存储
办理方法
SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';
在举行盘算时,起首实行上面的语句,可以避免减法运算过程中的错误。在Mysql文档中,明白指出两个整数举行相减运算的结果是一个无符号数,在Mysql 5.5.5 之前,如果产生一个负数,mysql会将这个数转换为一个最大的数值。
自Mysql 5.5.5 之后,如果产生一个负数,则会产生一个错误 ERROR 1690。
mysql> SET sql_mode = '';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT CAST(0 AS UNSIGNED) - 1;
ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(cast(0 as unsigned) - 1)'
关于SQL_MODE
SQL_MODE默以为空,有很多的选项,建议在生产情况中设置成严酷的MODE,这样可以在运维期间避免很多贫苦。
mysql> SELECT a-b FROM t; ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`test`.`t`.`a` - `test`.`t`.`b`)' 这个错误乍看
mysql>SET sql_mode='NO_UNSIGNED_SUBTRACTION'; Query OK, 0 rows affected (0.00 sec)
mysql> SELECT a-b FROM t\G;
【题目18】、Could not create unix socket lock file:
2022-03-15T03:06:41.377196Z 0 [ERROR] Could not create unix socket lock file ~/ma/ScriptMA/data_sce/mysqld.sock.lock.
2022-03-15T03:06:41.377212Z 0 [ERROR] Unable to setup unix socket lock file.
2022-03-15T03:06:41.377223Z 0 [ERROR] Aborting
--socket=绝对路径
【题目19】、MySQL 5.5 升级 5.6 报错: mysqld got signal 11
关闭MySQL5.5时,设置:SET GLOBAL innodb_fast_shutdown=0, 这也是官方升级流程里提到的。(待验证)