程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL數據庫的同步配置

MySQL數據庫的同步配置

編輯:MySQL綜合教程


MySQL數據庫的同步。       MySQL是開源的關系型數據庫系統。主從同步復制(Replication)是從一台MySQL數據庫服務器(主服務器master)復制數據到另一個服務器(從服務器slave)的一個進程。   配置主服務器(master)
      1、編輯數據庫配置文件my.cnf 或 my.ini (windows),一般在/etc/目錄下。     #vi /etc/my.cnf     在[mysqld]的下面加入下面代碼: log-bin=mysql-bin  www.2cto.com   server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1 binlog-do-db=wordpress binlog_ignore_db=mysql       server-id=1中的1可以任定義,只要是唯一的就行。     binlog-do-db=wordpress是表示只備份wordpress。     binlog_ignore_db=mysql表示忽略備份mysql。     不加binlog-do-db和binlog_ignore_db,那就表示備份全部數據庫。       2、然後重啟MySQL:     #service mysqld restart       3、登錄MySQL服務器。     #mysql -uroot -p       在主服務器新建一個用戶賦予“REPLICATION SLAVE”的權限。你不需要再賦予其它的權限。在下面的命令,把X.X.X.X替換為從服務器的IP。     mysql>CREATE USER 'user'@ 'X.X.X.X' IDENTIFIED BY 'password';     mysql>GRANT REPLICATION SLAVE ON *.* TO 'user'@'X.X.X.X' IDENTIFIED BY 'password';       4、執行以下命令鎖定數據庫以防止寫入數據。     mysql>FLUSH TABLES WITH READ LOCK;       5、退出mysql命令行,導出數據庫     #mysqldump -u root -p123456 --all-databases > /root/all.sql       6、使用scp命令傳輸數據庫文件all.sql到從服務器。     #scp /root/all.sql [email protected]:/root       7、再次連接數據庫進入mysql命令行查看master狀態。     mysql>SHOW MASTER STATUS;       請記下顯示的信息,配置從服務器會用到。 +——————+———-+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———-+————–+——————+ | mysql-bin.000001| 253| dbispconfig | mysql | +——————+———-+————–+——————+ 1 row in set (0.00 sec)       8、解鎖數據表。     mysql>UNLOCK TABLES;   www.2cto.com   配置從服務器(slave)       登錄從服務器。     1、導入主服務器的數據庫。     #mysql -u root -p123456 < /root/all.sql       2、編輯配置文件my.cnf,在[mysqld]下面加入:     server-id=2     注:2可以自己定義,只要保證唯一的就行。       3、保存文件並重啟mysqld。     #service mysqld restart       4、登錄mysql服務器,執行以下命令。 mysql>CHANGE MASTER TO MASTER_HOST='X.X.X.X', MASTER_USER='user', MASTER_PASSWORD='password', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000001, MASTER_LOG_POS=253, MASTER_CONNECT_RETRY=10;     注:     MASTER_HOST:主服務器的IP。     MASTER_USER:配置主服務器時建立的用戶名     MASTER_PASSWORD:用戶密碼     MASTER_PORT:主服務器mysql端口,如果未曾修改,默認即可。     這裡master_log_file和master_log_pos就是前面show master status的結果。     5、啟動slave進程。     mysql>START SLAVE;     mysql>SHOW SLAVE STATUS;  如果能查出一條記錄 那麼,配置成功       6、查看mysql的日志,一般在/var/log/目錄下,如果啟動成功,你應該會看到類似下面的日志。  www.2cto.com       091104 8:42:02 [Note] Slave I/O thread: connected to master ‘[email protected]:3306?, replication started in log ‘mysql-bin.000001? at position 98       現在主服務器和從服務器已經配置好了。另外你可能需要設置主服務器的數據庫二進制日志的過期時間,可以在配置文件中使用參數expire_logs_days來設定。   java spring事務設置,方法頭部設置 @Transactional(readOnly=true)   java  連接 驅動 設置 jdbc.connection.driver=com.mysql.jdbc.ReplicationDriver jdbc.connection.url=jdbc:mysql:replication://192.168.202.190,192.168.202.190/job?useUnicode=true&characterEncoding=utf-8       作者 yjflinchong

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