因為init_command 導致的 mysql 5.6 主從連線失敗的案例一則。
mysql 5.6 從庫主機安排了計劃性重啟, 重啟主機後, 問題來了。
例項 無法連線master 了。
報錯如下:
[code]
2018-09-17 12:21:50 28554 [Note] 'CHANGE MASTER TO executed'. Previous state master_host='192.168.8.42', master_port= 3307, master_log_file='', master_log_pos= 4, master_bind=''. New state master_host='192.168.8.42', master_port= 3307, master_log_file='', master_log_pos= 4, master_bind=''.2018-09-17 12:21:58 28554
[Warning] Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended.
Please consider using the USER and PASSWORD connection options for START SLAVE;
see the 'START SLAVE Syntax' in the MySQL Manual for more information.2018-09-17 12:21:58 28554
[Note] Slave SQL thread initialized, starting replication in log 'FIRST' at position 0, relay log './relay-bin.000001' position: 42018-09-17 12:21:58 28554
[Note] Slave I/O thread: connected to master 'repl@192.168.8.42:3307',replication started in log 'FIRST' at position 42018-09-17 12:21:58 28554
[Warning] "SELECT UNIX_TIMESTAMP()" failed on master, do not trust column Seconds_Behind_Master of SHOW SLAVE STATUS. Error: Aborted connection 12505106 to db: 'unconnected' user: 'repl' host: '192.168.8.43' (init_connect command failed) (1184)2018-09-17 12:21:58 28554 [ERROR] Slave I/O: The slave I/O thread stops because a fatal error is encountered when it tries to SET @master_heartbeat_period on master. Error: , Error_code: 15932018-09-17 12:21:58 28554
[Note] Slave I/O thread exiting, read up to log 'FIRST', position 4
[/code]
咋回事呢, 同事重置了slave 還是報錯。
因為啟用了gtid , 兩邊對照了gtid 的各個引數都是一致的。 也排除了gtid 的故障。
因為重啟之前都是OK 的, 也不存資料問題。 納悶了。
看日誌就上上面這樣了。
一時沒明白過來。 去主庫上看看 。
問題找到了。
#init_connect='set names gbk;insert into db_monitor.accesslog(thread_id,log_time,localname,matchname) values(connection_id(),now(),user(),current_user());commit;'
主庫上的init_command 引數 加了一條sql 語句。
對應到了日誌裡的 init_command 的報錯。
看看許可權
[code]
mysql.sock@(none)> use mysql
Database changed
mysql.sock@mysql> select * from tables_priv ;
+------+------------+--------------+------------+----------------+---------------------+------------+-------------+
| Host | Db | User | Table_name | Grantor | Timestamp | Table_priv | Column_priv |
+------+------------+--------------+------------+----------------+---------------------+------------+-------------+
| % | db_monitor | user_app | accesslog | root@localhost | 0000-00-00 00:00:00 | Insert | |
+------+------------+--------------+------------+----------------+---------------------+------------+-------------+
1 row in set (0.02 sec)
mysql.sock@mysql>
[/code]
把init_command 註釋掉後, 一切都ok 了。
原來之前因為某個事件 , 增加了一點審計功能, 就用init_command 實現了。
原來是忘記給repl 授權了。
導致 repl 再次登入的時候, 無權操作這個insert 語句報錯。退出了。無法連線master .
此則 案例記錄之。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2214315/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 5.6因為OOM導致資料庫重啟MySqlOOM資料庫
- sock鎖檔案導致的MySQL啟動失敗MySql
- Mysql備份失敗案例(一)MySql
- wait_type SOS_WORKER導致資料庫連線失敗AI資料庫
- 遠端連線 Mysql 失敗的解決方法MySql
- mysql連線失敗:ArgumentException: 指定的值在“SslProtocolType”MySqlExceptionProtocol
- 儲存互斥失敗導致資料丟失的資料恢復成功案例資料恢復
- 解決一次gitlab因異常關機導致啟動失敗Gitlab
- mysql5.6搭建主從過程中遇到主從server_uuid一致無法同步的問題MySqlServerUI
- springboot衝突導致的發版失敗Spring Boot
- 使用CDN導致301跳轉失敗(主域名、泛解析)的解決方案
- Drive客戶端因SSL證書已更改導致聯機失敗客戶端
- 故障分析 | DDL 導致的 Xtrabackup 備份失敗
- 為什麼我的 PHP 資料庫連線失敗?PHP資料庫
- MYSQL 主從不一致的原因分析MySql
- 迴圈引用導致的json序列化失敗JSON
- linux配置mysql資料庫遠端連線失敗LinuxMySql資料庫
- C#連線MySQL8.0資料庫失敗C#MySql資料庫
- mysql資料庫連線失敗是什麼原因MySql資料庫
- 【mysql】mysql的資料庫主從(一主一從)MySql資料庫
- 企業使用ERP系統導致失敗的因素所在
- rman備份的時候讀取v$session_longops失敗導致備份失敗SessionGo
- Mysql 從庫如果有未提交的事務主庫ddl操作導致主從延遲MySql
- VSCode 遠端連線失敗VSCode
- cf與主機連線失敗03win10怎麼修復_win10玩cf與主機連線失敗03如何處理Win10
- ORACLE 分割槽索引UNUSABLE導致的DML操作失敗引起的血案Oracle索引
- 關於 SQLyog 遠端連線 Linux 系統的 MySQL 失敗的解決方法LinuxMySql
- MySQL 網路導致的複製報錯案例MySql
- 織夢資料庫連線失敗的原因資料庫
- Drone構建失敗,一次drone依賴下載超時導致構建失敗的爬坑記錄
- Docker 導致阿里雲 ECS 內網互通失敗Docker阿里內網
- 在容器外部連線kafka失敗Kafka
- postgresql連線失敗如何處理SQL
- 阿里雲伺服器安裝mysql後本地連線失敗阿里伺服器MySql
- mysql活躍連線打高的案例MySql
- zblog應用中心連線失敗的解決方案
- 解決使用SSH連線Linux伺服器時連線失敗的故障Linux伺服器
- 記錄一次因 mysql 欄位取名不規範導致的問題MySql