?? mysql 雙向數據同步解決方案.txt
字號:
MySQL 雙向數據同步解決方案
來源:iam286 作者: 發布時間:2008-07-18 點擊:190
國內網絡的現狀就讓人很郁悶,為什么?因為明明很快的網絡,非要搞個電信網通互聯不通,跨網訪問的時候速度非常慢。不得已只能在電信和網通各放一臺服務器,那么這種情況下,數據庫又如何同步呢?
以下的文章或許可以幫助大家:
一、配置主master(192.168.0.1)數據庫如下:
1、 DOWLOAD mysql-4.1.15.tar.gz源碼包,在192.168.0.1(master機器)手動編譯安裝
注:MASTER 服務器同時擔任SLAVE 服務器功能因為需要雙向同步
[root@localhost mysql-4.1.15]# tar –xzvf mysql-4.1.15.tar.gz
[root@localhost mysql-4.1.15]# cd mysql-4.1.15
[root@localhost mysql-4.1.15]#./configure –prefix=/usr /macro/mysql --with-charset=’gbk’
[root@localhost mysql-4.1.15]#make
[root@localhost mysql-4.1.15]#make install
[root@localhost mysql-4.1.15]#cp support-file/my-medium.cnf /etc/my.cnf
[root@localhost mysql-4.1.15]#cd ../mysql
[root@localhost mysql-4.1.15]#bin/mysql_install_db --user=mysql (注:如果在所有配置都完成后,雙向同步不能成功,則問題有可能出在這一行命令,那么就重新編譯安裝mysql,然后到此步驟后,執行如下命令:
[root@localhost mysql-4.1.15]#bin/mysql_install_db --user=mysql --log-bin
[root@localhost mysql-4.1.15]# bin/mysql_install_db --user=mysql )
[root@localhost mysql-4.1.15]#chown –R root . (root 后邊有個點意思是所有的文件)
[root@localhost mysql-4.1.15]#chwon –R mysql var/
[root@localhost mysql-4.1.15]#chgrh –R .
[root@localhost mysql-4.1.15]#bin/mysqld_safe –user=mysql &
[root@localhost mysql-4.1.15]#bin/mysql
mysql>grant all privileges on *.* to dbmysql@192.168.0.2 identified by ‘1234’;
mysql>exit
2.配置/etc/my.cnf
[root@localhost mysql-4.1.15]#vi /etc/my.cnf
加入如下代碼:
log-bin
server-id = 1
sql-bin-update-same
binlog-do-db=dbmysql
master-host=192.168.0.2
master-user=dbmysql
master-password='1234'
master-port=3306
master-connect-retry=30
replicate-do-db=dbmysql
log-slave-updates
編輯完my.cnf 后保存退出,之后執行如下命令:
[root@localhost mysql-4.1.15]#bin/mysqladmin shutdown
二、配置副SLAVE(192.168.0.2)數據庫如下:
注意:這臺機器首先是SLAVE服務器也同時擔任MASTER服務器
1、DOWLOAD mysql-4.1.15.tar.gz源碼包,在192.168.0.2(SLAVE機器)手動編譯安裝
[root@localhost mysql-4.1.15]# tar –xzvf mysql-4.1.15.tar.gz
[root@localhost mysql-4.1.15]# cd mysql-4.1.15
[root@localhost mysql-4.1.15]#./configure –prefix=/usr /macro/mysql --with-charrset=’gbk’
[root@localhost mysql-4.1.15]#make
[root@localhost mysql-4.1.15]#make install
[root@localhost mysql-4.1.15]#cp support-file/my-medium.cnf /etc/my.cnf
[root@localhost mysql-4.1.15]#cd ../mysql
[root@localhost mysql-4.1.15]#bin/mysql_install_db --user=mysql --log-bin
[root@localhost mysql-4.1.15]#chown –R root . (root 后邊有個點意思是所有的文件)
[root@localhost mysql-4.1.15]#chwon –R mysql var/
[root@localhost mysql-4.1.15]#chgrh –R .
[root@localhost mysql-4.1.15]#bin/mysqld_safe –user=mysql &
[root@localhost mysql-4.1.15]#bin/mysql
mysql>grant all privileges on *.* to dbmysql@192.168.0.2 identified by ‘1234’;
mysql>exit
2.配置/etc/my.cnf
log-bin
server-id = 2
binlog-do-db=dbmysql
sql-bin-update-same
master-host=192.168.0.1
master-user=dbmysql
master-password='1234'
master-port=3306
master-connect-retry=30
replicate-do-db=dbmysql
log-slave-updates
#
編輯完my.cnf 后保存退出,之后執行如下命令:
[root@localhost mysql-4.1.15]#bin/mysqladmin shutdown
三、測試mysql數據庫雙向同步:
1. 重新啟動兩臺mysql數據庫
2. 在兩臺mysql服務器上執行如下步驟查看配置:
mysql> show master status;
mysql>show slave status;
察看配置是否正確
3、在配置文件/etc/my.cnf中要同步的數據庫是dbmysql,所以新建mysql服務器沒有dbmysql數據庫,執行如下命令建立 dbmysql數據庫(注:由于已經配置為雙向數據庫同步,所以在任何一臺MYSQL服務器上執行如下命令都可以在另一臺機器上都能同步:)
以192.168.0.1服務器為例:
mysql> create database dbmysql:
當你在登陸到192.168.0.2服務器的時候就可以看到dbmysql數據庫了。同理當你在服務器172.168.0230上建立數據庫dbmysql的時候在192.168.0.1
上就可以同步了。同時也可以建立table測試。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -