日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql error1682_mysql5.7报错 1546、1577和1682问题分析

發(fā)布時(shí)間:2023/12/20 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql error1682_mysql5.7报错 1546、1577和1682问题分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

環(huán)境說(shuō)明:

MySQL5.6.40 上xtrabackup全備備份的數(shù)據(jù)導(dǎo)入到mysql5.7.24實(shí)例上,啟動(dòng)MySQL5.7的服務(wù),登錄數(shù)據(jù)庫(kù)MySQL5.7實(shí)例。但是在drop user

[email?protected]‘127.0.0.1‘時(shí),報(bào)錯(cuò)如下:

2019-08-15T19:02:31.160910+08:00 1546 [ERROR] /usr/local/mysql5.7/bin/mysqld: Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 50640, now running 50724. Please use mysql_upgrade to fix this error.

mysql實(shí)例版本如下:

[[email?protected] ~]# /usr/local/mysql/bin/mysqld -V

/usr/local/mysql/bin/mysqld Ver 5.6.40 for Linux on x86_64 (Source distribution)

[[email?protected] ~]# /usr/local/mysql5.7/bin/mysqld -V

/usr/local/mysql5.7/bin/mysqld Ver 5.7.24 for linux-glibc2.12 on x86_64 (MySQL Community Server (GPL))

解決辦法:升級(jí)下MySQL5.7

/usr/local/mysql5.7/bin/mysql_upgrade -uroot -p‘ln.orge#dieurw5199‘ -S /tmp/3306.sock

Checking if update is needed.

Checking server version.

Running queries to upgrade MySQL server.

Checking system database.

testdb29.dtr_wx_gotourl OK

testdb29.dtr_zone OK

testdb29.hm_planstats_h OK

Upgrade process completed successfully.

Checking if update is needed.

登錄MySQL5.7刪除庫(kù)的用戶,刪除成功

mysql> drop user [email?protected]‘127.0.0.1‘;

Query OK, 0 rows affected (0.00 sec)

提示:此時(shí)的mysql5.7.24實(shí)例并沒有重啟

此刻創(chuàng)建一個(gè)定時(shí)器調(diào)用存儲(chǔ)過程時(shí),報(bào)錯(cuò)如下:

mysql> CREATE EVENT test1

-> ON SCHEDULE EVERY 2 second STARTS TIMESTAMP ‘2019-08-10 16:16:22‘

-> ON COMPLETION PRESERVE

-> DO

-> BEGIN

-> CALL test1();

-> END//

ERROR 1577 (HY000): Cannot proceed because system tables used by Event Scheduler were found damaged at server start

mysql> show events;

ERROR 1577 (HY000): Cannot proceed because system tables used by Event Scheduler were found damaged at server start

###提示無(wú)法繼續(xù),因?yàn)樵诜?wù)器啟動(dòng)時(shí)發(fā)現(xiàn)事件調(diào)度程序使用的系統(tǒng)表已損壞

此刻查看mysql 系統(tǒng)變量報(bào)錯(cuò)如下:

mysql> show variables like ‘event_scheduler‘;

ERROR 1682 (HY000): Native table ‘performance_schema‘.‘session_variables‘ has the wrong structure

出現(xiàn)的原因是我升級(jí)了mysql的版本,但是沒有重啟mysql實(shí)例

需要重啟MySQL5.7.24服務(wù)。否則會(huì)導(dǎo)致MySQL的部分系統(tǒng)表識(shí)別不到。

service restart mysql5.7.24

到此處問題解決了

mysql> show events;

Empty set (0.00 sec)

mysql> show variables like ‘event_scheduler‘;

+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| event_scheduler | ON |

+-----------------+-------+

1 row in set (0.01 sec)

從新創(chuàng)建定時(shí)器,執(zhí)行成功:

mysql> CREATE PROCEDURE test1()

-> BEGIN

-> INSERT INTO tb01(username,password,create_time) values(‘李四‘, ‘張三‘,now());

-> END//

Query OK, 0 rows affected (0.01 sec)

mysql> CREATE EVENT test1

-> ON SCHEDULE EVERY 5 second STARTS TIMESTAMP ‘2019-08-16 17:34:22‘

-> ON COMPLETION PRESERVE

-> DO

-> BEGIN

-> CALL test1();

-> END//

Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;

mysql> select now();

總結(jié)

以上是生活随笔為你收集整理的mysql error1682_mysql5.7报错 1546、1577和1682问题分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。