mysql数据库主从库配置之主从切换_PHP教程
mysql数据库主从库配置之主从切换
MySQL:主从复制(Replication)搭建 介绍了 MySQL 主从配置过程,这篇 介绍手工主从切换过程。一 环境信息
主库 192.168.1.60/3306 主机名 db1
备库 192.168.1.61/3306 主机名 db2
备注: 主从节点 mysql 安装略,Replication 安装略。
二 主从切换
--主,备节点都要创建 Replication 用户。如果无,参考下面创建。
<p style="margin-top:0px;margin-bottom:10px;">create user 'rep1'@'%' identified by 'rep1abcd1243d'; GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'%'; </p>
--查询从库状态
<p style="margin-top:0px;margin-bottom:10px;">root@localhost:francs>show slave status\G </p>
--查询主库状态
<p style="margin-top:0px;margin-bottom:10px;">root@localhost:francs>show slave hosts; +-----------+-------------------+------+-----------+--------------------------------------+ | Server_id | Host | Port | Master_id | Slave_UUID | +-----------+-------------------+------+-----------+--------------------------------------+ | 2 | 192.168.2.38(db2) | 3306 | 1 | ad397a06-7c56-11e4-b2fb-000c29dcb3b5 | +-----------+-------------------+------+-----------+--------------------------------------+ 1 row in set (0.00 sec) </p>
--从库: 停止 IO_THREAD 线程
<p style="margin-top:0px;margin-bottom:10px;">root@localhost:francs>stop slave IO_THREAD; root@localhost:francs>show slave status\G *************************** 1. row *************************** Slave_IO_State: Master_Host: 192.168.2.37 Master_User: rep1 Master_Port: 3306 Connect_Retry: 60 Master_Log_File: bin-log.000001 Read_Master_Log_Pos: 362 Relay_Log_File: db2-relay-bin.000002 Relay_Log_Pos: 523 Relay_Master_Log_File: bin-log.000001 Slave_IO_Running: No Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 362 Relay_Log_Space: 694 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_UUID: 0c130d47-22bb-11e4-aaaa-000c2986ac80 Master_Info_File: mysql.slave_master_info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 1 row in set (0.00 sec) </p>
--激活从库(从库上操作)
<p style="margin-top:0px;margin-bottom:10px;">root@localhost:francs>stop slave; root@localhost:francs>reset master; root@localhost:francs>reset slave all; root@localhost:francs>show binary logs; +----------------+-----------+ | Log_name | File_size | +----------------+-----------+ | bin-log.000001 | 120 | +----------------+-----------+ 1 row in set (0.00 sec) </p>
--将原来主库变为从库
<p style="margin-top:0px;margin-bottom:10px;">mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.61', MASTER_PORT=3306, MASTER_USER='rep1', MASTER_PASSWORD='rep1abcd1243d', MASTER_LOG_FILE='bin-log.000001', MASTER_LOG_POS=120; root@localhost:francs>start slave; root@localhost:francs>show slave status\G </p>
--db1 日志报错
<p style="margin-top:0px;margin-bottom:10px;">2015-03-02 14:24:14 26198 [ERROR] Slave I/O: error connecting to master 'rep1@192.168.1.61:3306' - retry-time: 60 retries: 8, Error_code: 1045 </p>
--解决过程
<p style="margin-top:0px;margin-bottom:10px;">--连接测试 [mysql@db1 ~]$ mysql -h 192.168.1.60 -P 3306 -urep1 备注:居然不需要密码能直接能连上。 --测试匿名用户 [mysql@db1 ~]$ mysql -h 192.168.1.60 -P 3306 -urep2 备注:依然不需要密码。 --原因分析 root@localhost:francs>select Host,User,Password from mysql.user where User=''; +-----------+------+----------+ | Host | User | Password | +-----------+------+----------+ | localhost | | | | db1 | | | +-----------+------+----------+ 备注: 原来 db2 节点上存在 User 为空的的两行,表示匿名用户可以连接数据库, 删除这两行,之后 flush privileges; --再连接测试 [mysql@db1 ~]$ mysql -h 192.168.1.60 -P 3306 -urep1 备注:这次连接需要密码了。之后再次观看 db1 同步日志,不再报错。 </p>
三 数据验证
主从切换后db2 为主节点, db1 为备节点,在 db2 节点上插入一条数据测试同步是否正常。
--db2 上执行
<p style="margin-top:0px;margin-bottom:10px;">root@localhost:francs>insert into test_sr(id) values(30); Query OK, 1 row affected (0.03 sec) root@localhost:francs>select * from test_sr order by id desc limit 1; +------+---------------------+ | id | create_time | +------+---------------------+ | 30 | 2015-03-02 15:19:53 | +------+---------------------+ 1 row in set (0.00 sec) </p>
--db1 上验证
<p style="margin-top:0px;margin-bottom:10px;">root@localhost:francs>select * from test_sr order by id desc limit 1; +------+---------------------+ | id | create_time | +------+---------------------+ | 30 | 2015-03-02 15:19:53 | +------+---------------------+ 1 row in set (0.00 sec) </p>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Ces derniers jours, Ice Universe n'a cessé de révéler des détails sur le Galaxy S25 Ultra, qui est largement considéré comme le prochain smartphone phare de Samsung. Entre autres choses, le fuyard a affirmé que Samsung prévoyait d'apporter une seule mise à niveau de l'appareil photo.

OnLeaks s'est désormais associé à Android Headlines pour offrir un premier aperçu du Galaxy S25 Ultra, quelques jours après une tentative infructueuse de générer plus de 4 000 $ auprès de ses abonnés X (anciennement Twitter). Pour le contexte, les images de rendu intégrées ci-dessous h

En plus d'annoncer deux nouveaux smartphones, TCL a également annoncé une nouvelle tablette Android appelée NXTPAPER 14, et sa taille d'écran massive est l'un de ses arguments de vente. Le NXTPAPER 14 est doté de la version 3.0 de la marque emblématique de panneaux LCD mats de TCL.

Ces derniers jours, Ice Universe n'a cessé de révéler des détails sur le Galaxy S25 Ultra, qui est largement considéré comme le prochain smartphone phare de Samsung. Entre autres choses, le fuyard a affirmé que Samsung prévoyait d'apporter une seule mise à niveau de l'appareil photo.

Le Vivo Y300 Pro vient d'être entièrement dévoilé et c'est l'un des téléphones Android de milieu de gamme les plus fins avec une grande batterie. Pour être exact, le smartphone ne fait que 7,69 mm d'épaisseur mais dispose d'une batterie de 6 500 mAh. C'est la même capacité que le lancement récent

Motorola a lancé d'innombrables appareils cette année, même si seuls deux d'entre eux sont pliables. Pour le contexte, alors que la plupart des pays du monde ont reçu la paire sous le nom de Razr 50 et Razr 50 Ultra, Motorola les propose en Amérique du Nord sous le nom de Razr 2024 et Razr 2.

Le Redmi Note 14 Pro Plus est désormais officiel en tant que successeur direct du Redmi Note 13 Pro Plus de l'année dernière (375 $ sur Amazon). Comme prévu, le Redmi Note 14 Pro Plus est en tête de la série Redmi Note 14 aux côtés du Redmi Note 14 et du Redmi Note 14 Pro. Li

Samsung n'a pas encore donné d'indications sur la date à laquelle il mettrait à jour sa série de smartphones Fan Edition (FE). Dans l’état actuel des choses, le Galaxy S23 FE reste l’édition la plus récente de la société, ayant été présentée début octobre 2023. Cependant, de nombreux
