美文网首页
Mysql数据库相关错误

Mysql数据库相关错误

作者: Hi_One | 来源:发表于2017-09-06 10:20 被阅读22次

案例一:

Too many connections (连接数过多,导致数据库连接不上)

解决思路:

  1. 首先考虑Mysql数据库参数文件里面,max_connections参数值是否太小,导致客户端链接超过了最大值
  2. 限制InnoDB的并发处理数量,innodb_thread_concurrency = 0(代表不受限制),改为16或64看服务器压力。(16左右即可)
  3. 监控程序会读取information_schema下面的表,可以考虑关闭下面的参数:
    innodb_stats_on_metadata=0
    set global innodb_stats_on_metadata=0

案例二:

Last_SQL_Errno:1062(从库与主库数据冲突)
 Last_Errno: 1062 

 Last_Error: Could not execute Write_rows event on table test.t; 

 Duplicate entry ‘4’ for key ‘PRIMARY’, 

 Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; 

 the event’s master log mysql-bin.000014, end_log_pos 1505 

解决方法:

在确保主从数据库一致的情况下,可以在从库进行错误跳过,使用percona-toolkit中的pt-slave-restart进行。

在从库完成如下操作

[root@slj]./pt-slave-restart -uroot -p123456
2017-07-20T14:05:30 p=…,u=root node4-relay-bin.000002 1506 1062

之后最好在从库开启read_only,禁止从库写入

Last_IO_Errno:1593(Server-id冲突)

Last_IO_Error:

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; 

these ids must be different for replication to work 

(or the –replicate-same-server-id option must be used on slave but this 

does not always make sense; please check the manual before using it) 

解决方法:更改其中一台的server-id使其不一样

Last_SQL_Errno:1032(从库少数据,主库更新时候,从库报错)

Last_SQL_Error:

Could not execute Update_rows event on table test.t; Can’t find record 

in ‘t’, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the 

event’s master log mysql-bin.000014, end_log_pos 1708 
解决办法:根据报错信息,我们可以获取到报错日志和position号,然后就能找到主库执行的哪条sql,导致的主从报错。
在主库执行:
/usr/local/mysql/bin/mysqlbinlog –no-defaults -v -v –base64-output=decode-rows /data/mysql/mysql-bin.000014 |grep -A 10 1708 > 1.log

案例三:

数据库忘记密码

解决方法:

编辑配置文件/etc/my.conf
vim /etc/my.cnf
[mysqld]
skip-grant-tables
wq!

systemctl restart mariadb

mysql   进入数据库(不需要输入账号密码)
use user
MariaDB [mysql]> UPDATE user SET Password = password ( '123456 ) WHERE User = 'root' ; 
MariaDB [mysql]> flush privileges;

systemctl restart mariadb

案例四:

Mysql数据库连接超时的报错

org.hibernate.util.JDBCExceptionReporter – SQL Error:0, SQLState: 08S01 

解决方法:

这个问题是由两个参数引起,wait_timeout和interactive_timeout
这两个参数必须同时设置,而且必须保证值一致才行

案例五:

can’t open file (errno:24)

因数据库的最大连接数导致的文件无法打开

解决方法:

修改数据库配置open_files_limit
vim /usr/lib/systemd/system/mariadb.service
[Service]
       LimitNOFILE=10000

相关文章

  • Mysql数据库相关错误

    案例一: Too many connections (连接数过多,导致数据库连接不上) 解决思路: 首先考虑Mys...

  • MySQL优化

    MySQL优化相关序 为什么需要MySQL优化?避免出现页面访问错误由于数据库连接timeout产生页面5xx的错...

  • MySQL - 日志

    错误日志 错误日志记录了当 MySQL 启动、停止时,以及服务在运行过程中发生错误的相关信息,当数据库出现故障无法...

  • MySQL-DCL语句-用户管理与授权-备忘笔记

    DCL-MySQL数据库管理相关 用户管理 相关库: mysql相关表:user 添加用户#通过MySQL自带的D...

  • Navicat for mysql 连接远程数据库

    错误码1130: 更改mysql数据库里的usermysql>use mysql;mysql>select 'ho...

  • SQL常用命令

    数据库相关 启动服务 sudo service mysql start 连接数据库 mysql -u root 查...

  • mysql基础语法,常用操作及概念

    mysql基础 数据库的好处 数据库相关概念 数据库存储数据的特点 MySQL产品的介绍和安装 MySQL服务的启...

  • 主键 sql分类 自增 not null

    MySql02 复习 数据库相关 连接数据库的命令 mysql -uroot -p 创建数据库 create da...

  • MySQL基础语法

    终端登录MySQL:/usr/local/mysql/bin/mysql -u root -p 一、数据库相关语法...

  • MySQL连接的时候报 ERROR 1129

    问题说明:通过mysql命令连接mysql数据库的时候报了ERROR 1129的错误; 错误说明:ERROR 11...

网友评论

      本文标题:Mysql数据库相关错误

      本文链接:https://www.haomeiwen.com/subject/weymjxtx.html