#msyql 5.6 Processo de recuperação de falhas de mestre-escravo
################## ault simulação ### 主 库 # 1 compilação de banco de dados e tabela mysql -e " drop classe de banco de dados; criação de classe de banco de dados; criação de classe de banco de dados; classe de uso ; USE classe; criação de aluno de tabela ( nome de char ( 20 é ) não nulo , Idade int ( 2 ) não nulo ); " ## 2 inserido nos dados # sem executar o comando, etc., a bater no item transporte 3 pode ser realizada em comando a partir da biblioteca de I em { 1 .. 10 }; do mysql -e " USE classe; insira nos valores dos alunos ('aaabbb $ i', $ i); "; done mysql -e " select * from class.student; " /etc/init.d/ mysqld stop #### 3 execute o mysql -e ' stop slave; mostre o status do slave \ G; ' | grep Slave ## ## Depois de executar a biblioteca principal, execute o seguinte comando mysql -e ' show slave status \ G; ' | grep Slave ########################## ###### 从 升 主 操作 程 ## 1 ## Veja o arquivo master.info e compare e escolha aquele com a maior pos como o novo banco de dados mestre mysql -e ' show slave status \ G; ' | grepRead_Master_Log_Pos head / usr / local / mysql / data / master. Info ### Diretório do banco de dados, exclua os arquivos master.info e relay -log.info, configure o arquivo my.cnf, abra a lixeira, se houver atualizações de log-slaves e Leia-os só têm comentado, Mestre realização de RESET Music videos -f / usr / local / mysql / data / master. informações {,} BAK Music videos -f / usr / local / mysql / data / log-Relay. informações {, bak} mysql -e " concede escravo de replicação em *. * para 'repl' @ '%' identificado por 'replpwd'; privilégios de liberação; selecione Usuário, Host de mysql.user; " sed -i ' s / ^ log-slave -updates = / # atualizações-escravo-log = / g ' / etc / my.cnf sed -i ' s / ^ somente leitura = / # somente leitura = / g ' / etc / my.cnf egrep -v ' ^ # | ^ $ ' / etc / my.cnf /etc/init.d/ mysqld restart mysql -e " parada escravo; escravo de reset; Master Reset; " mysql -e " Mostrar o estado do mestre \ G " ############### ########## Q 从 库 上 reset mysql -e " stop slave; reset slave; CHANGE MASTER TO MASTER_HOST = ' 192.168.11.41 ' , MASTER_USER = ' repl ' , MASTER_PASSWORD = ' replpwd ' , MASTER_PORT = 3306 , MASTER_LOG_FILE = ' mysql-bin.000001 ' , MASTER_LOG_POS = 149976 , MASTER_CONNECT_RETRY = 10 ; start slave; " mysql -e ' mostra status do escravo \ G; ' | grep Slave ####################################################### ############# Restaurar dados através do binlog na antiga biblioteca principal #################1 . Primeiro localize o arquivo / usr / local / mysql / data / master.info antigo na nova biblioteca principal para encontrar o nome do arquivo binlog e o valor de MASTER_LOG_POS deve ser a segunda e a terceira linha do cabeçalho do arquivo / usr / local / mysql / data / master . informações # 23 é #mysql -bin. 000002 # 65428 # 192.168 . 11.43 #repl #replpwd # 3306 # 10 # 0 # ########## 2 . comando mysqlbinlog através dos dados extraídos do arquivo sql, E a sincronização com a nova biblioteca principal ## - b test1 é o nome do banco de dados mysqlbinlog -b test1 --start-position = 65428 mysql-bin. 000002 > test.sql SCP test.sql o root @ 192.168 . 11.41 : ~ / ########### . 3 . Test.sql introduzida no novo arquivo mestre repositório msyql -e " Fonte /root/test.sql " ### ####### Verifique a situação de recuperação de dados mysql -e " selecione * de test.student; " ######################## 机 机主 库Restaure ### 1 . mysql -e " stop slave; reset slave; reset master; " ##### 2 . #### Adicione uma linha abaixo de /etc/my.cnf [mysqld] somente leitura = 1 sed -i '/ \ [mysqld \] / a somente leitura = 1 ' / etc / my.cnf /etc/init.d/ mysqld restart ########## 3 ## MASTER_LOG_FILE = ' mysql-bin.000001 ' , MASTER_LOG_POS = 149976 , para os arquivos e nós encontrados na nova biblioteca principal mysql -e " stop slave; reset slave; CHANGE MASTER TO MASTER_HOST = ' 192.168.11.41 ' , MASTER_USER = ' repl ' , MASTER_PASSWORD = ' replpwd ' , MASTER_PORT = 3306, MASTER_LOG_FILE = ' mysql-bin.000001 ' , MASTER_LOG_POS = 149976 , MASTER_CONNECT_RETRY = 10 ; iniciar escravo; " mysql -e ' mostra status do escravo \ G; ' | grep Escravo