CentOSserverMysql主从复制集群结构
??????? 在配置Mysql數據庫主從復制集群時間,以確保:
???????????? 1.主從server操作系統版本號和位數一致。
???????????? 2.Mysql版本號一致。
???????? 為了保證穩定性,最好server操作系統和Mysql數據庫環境一致。
??????? CentOSserver上Mysql的安裝方法能夠參見博客:
??????? http://blog.csdn.net/jhq0113/article/details/43812895
????????
???????? server配置:
???????? Master:192.168.1.18
???????? Slave:192.168.1.16
???????? Master(192.168.1.18)server:
???????? 1.編輯/etc/my.cnf
???????? [root@jhq0229 ~]# vim /etc/my.cnf
????????
??????? 2.配置
???????
[mysqld] datadir=/data/mysql socket=/var/lib/mysql/mysql.sock user=mysql#主從復制配置 innodb_flush_log_at_trx_commit=1 sync_binlog=1 #須要備份的數據庫 binlog-do-db=orders #不須要備份的數據庫 binlog-ignore-db=mysql#啟動二進制文件 log-bin=mysql-bin#服務器ID server-id=1# Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid??????? 若沒有配置binlog-do-db和binlog_ignore_db,表示備份所有數據庫。
??????? 3.重新啟動Mysqld服務
??????? [root@jhq0229 ~]# service mysqld restart
?
??????? 4.為從Mysql創建用戶
???????? 登錄
??????? [root@jhq0229 ~]# mysql -uroot -p
??????? Enter password:
??????? 創建用戶
??????? mysql> create user 'mastj'@'192.168.1.16' identified by '123456';
???????
??????? 配置主從復制權限
??????? mysql> grant replication slave on *.* to 'mastj'@'192.168.1.16' identified by '123456';
??????? 若orders數據庫中已經有數據,還須要:
??????? 鎖定數據庫
??????? mysql> flush tables with read lock;
??????? 將數據導入到從數據庫,方法有多種。我是用Navicat復制的。復制完畢后:
???????? 查看master狀態并解鎖:
mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000003 | 2005 | orders | mysql | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)mysql> unlock tables;???
???????? Slave(192.168.1.16)server:
???????? 1.配置服務ID
???????? [root@jhq0113 ~]# vim /etc/my.cnf
????????
???????? 在[mysqld]以下增加
???????? server-id=2
????????
???????? 重新啟動Mysql服務
???????? [root@jhq0113 ~]# service mysqld restart
?????? 2.配置復制
??????? 登錄mysql
?????? [root@jhq0113 ~]# mysql -uroot -p
??????
?????? 運行
????? mysql> change master to master_host='192.168.1.18',
??????????????? master_user='mastj',
??????????????? master_password='123456',
??????????????? master_port=3306,
??????????????? master_log_file='mysql-bin.000003',
??????????????? master_log_pos=2005,
??????????????? master_connect_retry=10;
?????? 參數具體解釋:
????? master_host:主server的IP。
????? master_user:配置主server時建立的username
????? master_password:用戶密碼
????? master_port:主servermysql端口。假設未曾改動,默認就可以。
????? master_log_file:日志文件名,填寫查看master狀態時顯示的File
????? master_log_pos:日志位置。填寫查看master狀態時顯示的Position
????? master_connect_retry:重連次數
????? 啟動進程
????? mysql> start slave;
????? 檢查主從復制狀態
?????
mysql> show slave status\G *************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.1.18Master_User: mastjMaster_Port: 3306Connect_Retry: 10Master_Log_File: mysql-bin.000003Read_Master_Log_Pos: 2369Relay_Log_File: jhq0113-relay-bin.000002Relay_Log_Pos: 647Relay_Master_Log_File: mysql-bin.000003Slave_IO_Running: YesSlave_SQL_Running: Yes??????? 若Slave_IO_Running和Slave_SQL_Running均為Yes。則表示連接正常。?????? 在這一點上是可能的測試主從復制。
版權聲明:本文博客原創文章。博客,未經同意,不得轉載。
轉載于:https://www.cnblogs.com/gcczhongduan/p/4749844.html
總結
以上是生活随笔為你收集整理的CentOSserverMysql主从复制集群结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XXX 不是当前用户的有效责任,请联系您
- 下一篇: linux cmake编译源码,linu