mysql数据库主从库配置之主从切换
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>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dalam beberapa hari kebelakangan ini, Ice Universe terus mendedahkan butiran mengenai Galaxy S25 Ultra, yang secara meluas dipercayai sebagai telefon pintar utama Samsung yang seterusnya. Antara lain, pembocor itu mendakwa bahawa Samsung hanya merancang untuk membawa satu peningkatan kamera

OnLeaks kini telah bekerjasama dengan Android Headlines untuk memberikan pandangan pertama pada Galaxy S25 Ultra, beberapa hari selepas percubaan gagal untuk menjana lebih daripada $4,000 daripada pengikut X (dahulunya Twitter). Untuk konteks, imej pemaparan yang dibenamkan di bawah h

Di samping mengumumkan dua telefon pintar baharu, TCL juga telah mengumumkan tablet Android baharu yang dipanggil NXTPAPER 14, dan saiz skrinnya yang besar adalah salah satu nilai jualannya. NXTPAPER 14 menampilkan versi 3.0 jenama tandatangan TCL panel LCD matte

Dalam beberapa hari kebelakangan ini, Ice Universe terus mendedahkan butiran mengenai Galaxy S25 Ultra, yang secara meluas dipercayai sebagai telefon pintar utama Samsung yang seterusnya. Antara lain, pembocor itu mendakwa bahawa Samsung hanya merancang untuk membawa satu peningkatan kamera

Vivo Y300 Pro baru sahaja didedahkan sepenuhnya, dan ia merupakan salah satu telefon Android jarak pertengahan paling tipis dengan bateri yang besar. Tepatnya, telefon pintar ini hanya tebal 7.69 mm tetapi mempunyai bateri 6,500 mAh. Ini adalah kapasiti yang sama seperti yang dilancarkan baru-baru ini

Samsung belum menawarkan sebarang petunjuk lagi tentang bila ia akan mengemas kini siri telefon pintar Edisi Peminat (FE). Seperti sedia ada, Galaxy S23 FE kekal sebagai edisi terbaharu syarikat, telah dibentangkan pada awal Oktober 2023. Walau bagaimanapun, banyak

Redmi Note 14 Pro Plus kini rasmi sebagai pengganti langsung kepada Redmi Note 13 Pro Plus tahun lepas (sekira $375 di Amazon). Seperti yang dijangkakan, Redmi Note 14 Pro Plus mengetuai siri Redmi Note 14 bersama Redmi Note 14 dan Redmi Note 14 Pro. Li

Motorola telah mengeluarkan banyak peranti tahun ini, walaupun hanya dua daripadanya boleh dilipat. Untuk konteks, sementara kebanyakan dunia telah menerima pasangan itu sebagai Razr 50 dan Razr 50 Ultra, Motorola menawarkannya di Amerika Utara sebagai Razr 2024 dan Razr 2
