mysql 1146 错误处理

mysql 1146 错误处理在进行mysql 相关的备份,会出现1146错误。问题出现是因为之前把   mysql/data/ibdata1,ib_logfile0,ib_logfile1,ib_logfile2 文件删除了,mysql重启之后会自动生成这些文件的。但是之前的innodb引擎,就不能再访问了。特别注意一下: 删除ibdata1 文件的时候,必须要记得  这5张i…

大家好,又见面了,我是你们的朋友全栈君。

在进行 mysql  相关的备份,会出现 1146 错误。

问题出现是因为 之前 把    mysql/data/ ibdata1 , ib_logfile0, ib_logfile1, ib_logfile2  文件 删除了,mysql重启之后会自动生成 这些文件的。但是之前的innodb引擎,就不能再 访问了。

特别注意一下:  删除ibdata1  文件的时候,必须要记得   这 5张innodb表。

所以需要重新创建 这些 系统表:

 innodb_table_stats
 innodb_index_stats
 slave_master_info
 slave_relay_log_info
 slave_worker_info

处理该问题方法:    如果有主从同步的话,需要先 stop slave;

1、 删除上述系统表
drop table mysql.innodb_index_stats;
 drop table mysql.innodb_table_stats;
 drop table mysql.slave_master_info;
 drop table mysql.slave_relay_log_info;
 drop table mysql.slave_worker_info;

 2. /mysql/data/mysql/  删除相关的.frm .ibd文件
rm -rf innodb_index_stats*
 rm -rf innodb_table_stats*
 rm -rf slave_master_info*
 rm -rf slave_relay_log_info*
 rm -rf slave_worker_info*

 3.重新创建上述系统表
CREATE TABLE `innodb_index_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `stat_value` bigint(20) unsigned NOT NULL,
  `sample_size` bigint(20) unsigned DEFAULT NULL,
  `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

 
 CREATE TABLE `innodb_table_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `n_rows` bigint(20) unsigned NOT NULL,
  `clustered_index_size` bigint(20) unsigned NOT NULL,
  `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

 
 CREATE TABLE `slave_master_info` (
  `Number_of_lines` int(10) unsigned NOT NULL COMMENT ‘Number of lines in the file.’,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT ‘The name of the master binary log currently being read from the master.’,
  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT ‘The master log position of the last read event.’,
  `Host` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ” COMMENT ‘The host name of the master.’,
  `User_name` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The user name used to connect to the master.’,
  `User_password` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The password used to connect to the master.’,
  `Port` int(10) unsigned NOT NULL COMMENT ‘The network port used to connect to the master.’,
  `Connect_retry` int(10) unsigned NOT NULL COMMENT ‘The period (in seconds) that the slave will wait before trying to reconnect to the master.’,
  `Enabled_ssl` tinyint(1) NOT NULL COMMENT ‘Indicates whether the server supports SSL connections.’,
  `Ssl_ca` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The file used for the Certificate Authority (CA) certificate.’,
  `Ssl_capath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The path to the Certificate Authority (CA) certificates.’,
  `Ssl_cert` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The name of the SSL certificate file.’,
  `Ssl_cipher` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The name of the cipher in use for the SSL connection.’,
  `Ssl_key` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The name of the SSL key file.’,
  `Ssl_verify_server_cert` tinyint(1) NOT NULL COMMENT ‘Whether to verify the server certificate.’,
  `Heartbeat` float NOT NULL,
  `Bind` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘Displays which interface is employed when connecting to the MySQL server’,
  `Ignored_server_ids` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The number of server IDs to be ignored, followed by the actual server IDs’,
  `Uuid` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The master server uuid.’,
  `Retry_count` bigint(20) unsigned NOT NULL COMMENT ‘Number of reconnect attempts, to the master, before giving up.’,
  `Ssl_crl` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The file used for the Certificate Revocation List (CRL)’,
  `Ssl_crlpath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT ‘The path used for Certificate Revocation List (CRL) files’,
  `Enabled_auto_position` tinyint(1) NOT NULL COMMENT ‘Indicates whether GTIDs will be used to retrieve events from the master.’,
  PRIMARY KEY (`Host`,`Port`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT=’Master Information’;

 
 CREATE TABLE `slave_relay_log_info` (
  `Number_of_lines` int(10) unsigned NOT NULL COMMENT ‘Number of lines in the file or rows in the table. Used to version table definitions.’,
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT ‘The name of the current relay log file.’,
  `Relay_log_pos` bigint(20) unsigned NOT NULL COMMENT ‘The relay log position of the last executed event.’,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT ‘The name of the master binary log file from which the events in the relay log file were read.’,
  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT ‘The master log position of the last executed event.’,
  `Sql_delay` int(11) NOT NULL COMMENT ‘The number of seconds that the slave must lag behind the master.’,
  `Number_of_workers` int(10) unsigned NOT NULL,
  `Id` int(10) unsigned NOT NULL COMMENT ‘Internal Id that uniquely identifies this record.’,
  PRIMARY KEY (`Id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT=’Relay Log Information’;
 
 CREATE TABLE `slave_worker_info` (
  `Id` int(10) unsigned NOT NULL,
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Relay_log_pos` bigint(20) unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_relay_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_seqno` int(10) unsigned NOT NULL,
  `Checkpoint_group_size` int(10) unsigned NOT NULL,
  `Checkpoint_group_bitmap` blob NOT NULL,
  PRIMARY KEY (`Id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT=’Worker Information’;

 5、重启数据库

6、如果Slave启动报错,则使用步骤4的信息,重新change master

 

 

参考: https://www.linuxidc.com/Linux/2015-05/117521.htm

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131559.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图片存储方案[通俗易懂]

    图片存储方案[通俗易懂]介绍在实际开发中,我们会有很多处理不同功能的服务器。例如:应用服务器:负责部署我们的应用数据库服务器:运行我们的数据库文件服务器:负责存储用户上传文件的服务器分服务器处理的目的是让服务器各司

    2022年7月4日
  • 如何理解极限的定义

    如何理解极限的定义极限是研究变量变化的过程,并通过变化的过程来把握变化的结果。一般来说一个函数某个点的结果是由函数确定了的,所以一个函数某个点的值一般就等于其极限。除非是提前,把那个点给挖走了,否则在那个变化过程中是没有什么办法能阻止变化的趋势的。但是也不能说极限就一定等于其函数值。 要理解好极限的定义,可以先从简单的,描述性的定义入手,然后再转到严格的数学定义上去。 描述性定义是这样的:当自变量x无

    2022年5月6日
  • padEnd_np.pad函数

    padEnd_np.pad函数ES2017引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全下面有一个小练习身份号只显示后四位

    2022年9月8日
  • 程序员修炼法则_程序员进阶之路

    程序员修炼法则_程序员进阶之路程序员的修炼法则一,你适合当程序员吗,你知道编程序是怎么回事吗1,程序员意味着要编程序.(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你)2,你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨.(说坦白点就是,在你没有找到乐趣以前,它很枯燥)3,你有对新技术追求的热情吗你有刨根问底的…

    2022年10月6日
  • java中println和printf有什么区别_java println和print

    java中println和printf有什么区别_java println和printJava语言中print和println的区别简单的说:print意思是:打印而println是print+line的缩写,即:换行打印举例打印1和2:⑴不换行打印:publicclassMyDemo{ publicstaticvoidmain(Stringargs[]){ inti=1; intj=2; System.out.print(i)…

    2022年10月31日
  • 常用的DNS服务器_国内目前最快的DNS

    常用的DNS服务器_国内目前最快的DNS北京联通      202.106.0.20   202.106.196.115阿里              223.5.5.5 223.6.6.6114              114.114.114.114南方电信      180.153.225.136百度              180.76.76.76360                 101.226….

    2022年9月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号