溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql線程的一些總結(jié)

發(fā)布時間:2020-04-25 15:00:23 來源:億速云 閱讀:244 作者:三月 欄目:MySQL數(shù)據(jù)庫

下文內(nèi)容主要給大家?guī)?a title="mysql" target="_blank" href="http://www.kemok4.com/mysql/">mysql線程的一些總結(jié),這里所講到的知識,與書籍略有不同,都是億速云專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。

一、查看日志一些命令
1,  show master status\G;
           在這里主要是看log-bin的文件是否相同。
    show slave status\G;
    在這里主要是看:
                  Slave_IO_Running=Yes
                  Slave_SQL_Running=Yes
   如果都是Yes,則說明配置成功.

2,在master上輸入show processlist\G;
     mysql> SHOW PROCESSLIST\G
     *************************** 1. row***************************
       Id: 2
       User: root
       Host: localhost:32931
       db: NULL
       Command: Binlog Dump
       Time: 94
       State: Has sent all binlog to slave;waiting for binlog to
         be updated
       Info: NULL

   如果出現(xiàn)Command: Binlog Dump,則說明配置成功.

 mysql線程的一些總結(jié)

 

stop slave    #停止同步
start slave    #開始同步,從日志終止的位置開始更新。
SET SQL_LOG_BIN=0|1  #主機端運行,需要super權(quán)限,用來開停日志,隨意開停,會造成主機從機數(shù)據(jù)不一致,造成錯誤
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n  # 客戶端運行,用來跳過幾個事件,只有當(dāng)同步進程出現(xiàn)錯誤而停止的時候才可以執(zhí)行。
RESET MASTER  #主機端運行,清除所有的日志,這條命令就是原來的FLUSH MASTER
RESET SLAVE   #從機運行,清除日志同步位置標(biāo)志,并重新生成master.info
雖然重新生成了master.info,但是并不起用,最好,將從機的mysql進程重啟一下,
LOAD TABLE tblname FROM MASTER #從機運行,從主機端重讀指定的表的數(shù)據(jù),每次只能讀取一個,受timeout時間限制,需要調(diào)整timeout時間。執(zhí)行這個命令需要同步賬號有 reload和super權(quán)限。以及對相應(yīng)的庫有select權(quán)限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值
LOAD DATA FROM MASTER  #從機執(zhí)行,從主機端重新讀入所有的數(shù)據(jù)。執(zhí)行這個命令需要同步賬號有reload和super權(quán)限。以及對相應(yīng)的庫有select權(quán)限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值
CHANGE MASTER TO master_def_list  #在線改變一些主機設(shè)置,多個用逗號間隔,比如
CHANGE MASTER TO
  MASTER_HOST='master2.mycompany.com',
  MASTER_USER='replication',
  MASTER_PASSWORD='bigs3cret'
MASTER_POS_WAIT() #從機運行
SHOW MASTER STATUS #主機運行,看日志導(dǎo)出信息
SHOW SLAVE HOSTS #主機運行,看連入的從機的情況。
SHOW SLAVE STATUS (slave)
SHOW MASTER LOGS (master)
SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ]
PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date'

 

二、常見錯誤

1、出現(xiàn)錯誤提示、

 

Slave I/O: error connecting to master 'backup@192.168.1.x:3306' - retry-time: 60  retries: 86400, Error_code: 1045

解決方法

云服務(wù)器上刪除掉所有的二進制日志文件,包括一個數(shù)據(jù)目錄下的master.info文件和hostname-relay-bin開頭的文件

master.info:記錄了Mysql服務(wù)器上的日志文件和記錄位置、連接的密碼。 

 2、出現(xiàn)錯誤提示

 

Error reading packet from server: File '/home/mysql/mysqlLog/log.000001' not found (Errcode: 2) ( server_errno=29)

解決方案:

由于主服務(wù)器運行了一段時間,產(chǎn)生了二進制文件,而slave是從log.000001開始讀取的,刪除主機二進制文件,包括log.index文件。

3、錯誤提示如下

 

Slave SQLError 'Table 'xxxx' doesn't exist' on query. Default database: 't591'. Query: 'INSERT INTO `xxxx`(type,post_id,browsenum) SELECT type,post_id,browsenum FROM xxxx WHERE hitdate='20090209'', Error_code: 1146

解決方法

由于slave沒有此table表,添加這個表,使用slave start 就可以繼續(xù)同步。

 

 

4、錯誤提示如下

 

Error 'Duplicate entry '1' for key 1' on query. Default database: 'movivi1'. Query: 'INSERT INTO `v1vid0_user_samename` VALUES(null,1,'123','11','4545','123')'

 

 

Error 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1' on query. Default database: 'club'. Query: 'INSERT INTO club.point_process ( GIVEID, GETID, POINT, CREATETIME, DEMO ) VALUES ( 0, 4971112, 5, '2010-12-19 16:29:28','

1 row in set (0.00 sec)

 

 Mysql > Slave status\G;

顯示:Slave_SQL_Running 為 NO

解決方法:

Mysql > stop slave;

Mysql > set global sql_slave_skip_counter =1 ;

Mysql > start slave;

5、錯誤提示如下

# show slave status\G;

 

Master_Log_File: mysql-bin.000029

Read_Master_Log_Pos: 3154083

Relay_Log_File: c7-relay-bin.000178

Relay_Log_Pos: 633

Relay_Master_Log_File: mysql-bin.000025

Slave_IO_Running: Yes

Slave_SQL_Running: No

Replicate_Do_DB: club

Replicate_Ignore_DB: 

Replicate_Do_Table: 

Replicate_Ignore_Table: 

Replicate_Wild_Do_Table: 

Replicate_Wild_Ignore_Table: 

Last_Errno: 1594

Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.

Skip_Counter: 0

Exec_Master_Log_Pos: 1010663436

這個問題原因是,主數(shù)據(jù)庫突然停止或問題終止,更改了mysql-bin.xxx日志,slave服務(wù)器找不到這個文件,需要找到同步的點和日志文件,然后chage master即可。

解決方法:

 

 change master to 

 master_host='211.103.156.198',

 master_user='同步帳號', 

 master_password='同步密碼', 

 master_port=3306, 

 master_log_file='mysql-bin.000025', 

 master_log_pos=1010663436;

6、錯誤提示如下

 

Error 'Unknown column 'qdir' in 'field list'' on query. Default database: 'club'. Query: 'insert into club.question_del (id, pid, ques_name, givepoint, title, subject, subject_pid, createtime, approve, did, status, intime, order_d, endtime,banzhu_uid,banzhu_uname,del_cause,qdir) select id, pid, ques_name, givepoint, title, subject, subject_pid, createtime, approve, did, status, intime, order_d, endtime,'1521859','admin0523','無意義回復(fù)',qdir from club.question where id=7330212'

1 row in set (0.00 sec)

這個錯誤就說club.question_del 表里面沒有qdir這個字段 造成的加上就可以了~!

在主的mysql : 里面查詢 Desc club.question_del; 

在 錯誤的從服務(wù)器上執(zhí)行 : alter table question_del add qdir varchar(30) not null;

 7、錯誤提示如下

   Slave_IO_Running: NO

 這個錯誤就是IO 進程沒連接上  ,想辦法連接上把把與主的POS 號和文件一定要對,然后重新加載下數(shù)據(jù)。具體步驟:

slave stop;
change master to master_host='IP
地址',master_user='club',master_password='mima',master_log_file='mysqld-bin.000048',MASTER_LOG_POS=396549485;
注:master_log_file='mysqld-bin.000048',MASTER_LOG_POS=396549485;是從主的上面查出來的show master status\G;

LOAD DATA FROM MASTER;

load data from master;

slave start;

問題解決!

對于以上關(guān)于mysql線程的一些總結(jié),如果大家還有更多需要了解的可以持續(xù)關(guān)注我們億速云的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。

 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI