程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql5.5建立主從復制(set up master-slave replication)

mysql5.5建立主從復制(set up master-slave replication)

編輯:MySQL綜合教程

mysql5.5建立主從復制(set up master-slave replication)   1.注意事項:     (1)主從服務器版本要一致     (2)要修改root密碼,切不可用初始密碼 ( 此與主從復制無關,為數據庫安全考慮耳 );  www.2cto.com   2.配置主服務器master: [sql]  [mysqld]   log-bin=mysql-bin   //必須啟用二進制日志   server-id=1   //必須是服務器唯一id,默認是0,         重啟主服務器   3.配置從服務器slave: [plain]  [mysqld]   #log-bin=mysql-bin   // 從服務器的二進制日志非必須啟用,然而如果該從服務器要作為其他服務器的主服務器時則需要啟用;若啟用二進制日志,可以用作數據備份和功能恢復   server-id=2   //必須服務器唯一ID, 默認是0,不要與服務器一樣     www.2cto.com       重啟從服務器   4.在主服務器給從服務器分配一個具有replication slave權限的帳戶 [sql]  mysql> CREATE USER 'repl'@'192.168.1.103' IDENTIFIED BY 'slavepass';   mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.103';     5.獲得復制主服務器二進制日志的坐標( Obtaining the Replication Master Binary Log Coordinates )     (1).在主服務器命令行啟用一個session連接mysql,刷新所有的表和並阻止寫入語句:         [sql]  mysql> FLUSH TABLES WITH READ LOCK; ( 要解鎖退出該會話即可 )         (2).在主服務器通過命令行新開一個session連接mysql,使用語句SHOW MASTE STATUS判斷出當前二進制日志的文件名和位置: [sql]      mysql > SHOW MASTER STATUS;   +------------------+----------+--------------+------------------+   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |   +------------------+----------+--------------+------------------+   | mysql-bin.000003 |      107 |              |                  |   +------------------+----------+--------------+------------------+       記下二進制文件名:mysql-bin.000003和位置107     6.使用mysqldump創建一個數據快照     (1).確定主服務器讀寫被鎖,見上一步5.1     (2).使用mysqldump導出所有需要復制的數據庫或者選擇其中一個,例如:         [sql]  shell> mysqldump --all-databases --lock-all-tables >dbdump.db         (3).解鎖之前鎖定的表: [sql]  mysql> UNLOCK TABLES;   (另:關閉連接也可以解鎖)     7.交直一步創建的快照導入從服務器:     (1).把dbdump.db(即上一步從主服務器導出的文件)拷貝到從服務器     (2).連接從服務器並執行stop slave;       [sql]  mysql > stop slave;         (3).導入文件 [sql]  mysql > create databases 'dataname';   mysql > use 'dataname';   mysql > source dbdump.db;     8.配置復制的主服務器的坐標  [sql]  mysql> CHANGE MASTER TO       ->     MASTER_HOST='192.168.1.103',       ->     MASTER_USER='repl',       ->     MASTER_PASSWORD='slavepass',       ->     MASTER_LOG_FILE='mysql-bin.000003',                 注:執行該語句之前必須確保沒有slave線程運行,否則報錯   9.啟動slave線程:        [sql]  mysql > start slave;     10.在主服務器中插入一條數據,查看從服務器是否有了.  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved