MYSQL 主從服務器配置

jopen 9年前發布 | 9K 次閱讀 MySQL 數據庫服務器

mysql服務器的主從配置,本來是一件很簡單的事情,無奈不是從零開始,總是在別人已經安裝好的mysql服務器之上 ,這就會牽扯到,mysql的版本,啟動文件,等一些問題。

不過沒關系,先問清楚兩點

1、mysql配置文件my.cnf的位置

2、如何啟動、停止mysql,找好啟動文件

假設有兩臺機器,已經安裝好了mysql(盡量同版本,且兩臺機器同一網絡,可以ping通)

有朋友說:“從服務器,不能低于主服務器的版本”,不過我是低于的,沒有出現問題。

主機A: 192.168.1.100

從機B:192.168.1.101

可以有多臺從機

1、先登錄主機 A

mysql>GRANT REPLICATION SLAVE ON *.* TO ‘backup’@’192.168.1.101‘ IDENTIFIED BY ‘123456’;

賦予從機權限,有多臺叢機,就執行多次

2、 打開主機A的my.cnf,輸入

server-id               = 1    #主機標示,整數
log_bin                 = /var/log/mysql/mysql-bin.log   #確保此文件可寫
read-only       =0  #主機,讀寫都可以
binlog-do-db    =test   #需要備份數據,多個寫多行
binlog-ignore-db=mysql #不需要備份的數據庫,多個寫多行

3、打開從機B的my.cnf,輸入

server-id               = 2
log_bin                 = /var/log/mysql/mysql-bin.log
master-host     =192.168.1.100
master-user     =backup
master-pass     =123456
master-port     =3306
master-connect-retry=60 #如果從服務器發現主服務器斷掉,重新連接的時間差(秒)
replicate-do-db =test #只復制某個庫
replicate-ignore-db=mysql #不復制某個庫

4、同步數據庫

有多種方法,我說最笨的一種,先mysqldump導出主機A的數據test為 test.sql

然后在,從機B上建立數據庫test,mysql導入 test.sql到test庫中

5、先重啟主機A的mysql,再重啟從機B的mysql

6、驗證

在主機A中,mysql>show master status\G;

在從機B中,mysql>show slave status\G;

能看到大致這些內容

File: mysql-bin.000001
Position: 1374
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql

可以在主機A中,做一些INSERT, UPDATE, DELETE 操作,看看主機B中,是否已經被修改


以下做參考

http://www.ningoo.net/html/2007/mysql_replication_configuration.html

http://leftleg.hzpub.com/post/645/

http://blog.zhangjianfeng.com/article/705

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!