Mysql復(fù)制Mysql內(nèi)建的復(fù)制功能是構(gòu)建大型、高性能應(yīng)用程序的基
主服務(wù)器:
[root@node1~]# ssh-keygen -t rsa -P '' [root@node1~]##ssh-copy-id -i .ssh/id_rsa.pub root@172.16.18.9從服務(wù)器:
[root@node2~]# ssh-keygen -t rsa -P '' [root@node2~]##ssh-copy-id -i .ssh/id_rsa.pub root@172.16.18.72、編輯主從服務(wù)器的hosts文件:
[root@node1~]# vim /etc/hosts #####添加如下兩項:############### 172.16.18.7node1.magedu.com node1 172.16.18.9node2.magedu.com node2 #####保存并復(fù)制至node2上:######## [root@node1~]# scp /etc/hosts 172.16.18.9:/etc這里不在詳細(xì)介紹了,請參考
(1)、創(chuàng)建用戶 #groupadd -g 306 mysql #useradd -g mysql -u 306 -r mysql (2)、創(chuàng)建數(shù)據(jù)目錄: #mkdir/mydata/data –pv (3)、更改數(shù)據(jù)目錄權(quán)限: #chown -R mysql.mysql /mydata/data (4)、解壓Mysql創(chuàng)建鏈接 #tar xfmysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local #ln -svmysql-5.5.33-linux2.6-x86_64 mysql (5)、更改屬主屬組 #cd mysql #chown -R root:mysql./* (6)、初始化mysql #scripts/mysql_install_db--user=mysql --datadir=/mydata/data (7)、創(chuàng)建啟動腳本并賦予權(quán)限 #cpsupport-files/mysql.server /etc/rc.d/init.d/mysqld #chmod +x/etc/rc.d/init.d/mysqld (8)、創(chuàng)建并修改配置文件 # cp support-files/my-large.cnf /etc/my.cnf # vim /etc/my.cnf 添加如下行指定mysql數(shù)據(jù)文件的存放位置: datadir = /mydata/data (9)、更改環(huán)境變量 #vim/etc/profile.d/mysql.sh 添加: exportPATH=/usr/local/mysql/bin:$PATH #./etc/profile.d/mysql.sh (10)、添加到服務(wù)列表中并啟動mysql # chkconfig --addmysqld # service mysql start5、配置主服務(wù)器:
(1)編輯配置文件:
[root@node1 ~]# vim /etc/my.cnf server-id = 1 #60行標(biāo)識自己的ID號 log-bin=mysql-bin #52行二進(jìn)制日志,默認(rèn)是啟動的 binlog_format=mixed #55行使用混合模式(2)建立復(fù)制賬號權(quán)限:
6、配置從服務(wù)器:
(1)編輯配置文件:
[root@node2 ~]# vim /etc/my.cnf server-id = 20 #60行標(biāo)識自己的ID號,和主服務(wù)器決不能相同 #log-bin=mysql-bin #52行關(guān)閉二進(jìn)制日志 #binlog_format=mixed #55行關(guān)閉使用混合模式 #####設(shè)置從服務(wù)器為只讀模式###### read-only=1 #注意從服務(wù)器不可有寫模式 #####添加中繼日志################ relay-log=/mydata/data/relay-mysql #中繼日志 relay-log-index=relay-mysql.index #中繼日志索引文件【relay-log日志記錄的是在復(fù)制過程中,從服務(wù)器I/O線程將主服務(wù)器的二進(jìn)制日志讀取過來記錄到從服務(wù)器本地文件,然后SQL線程會讀取relay-log日志的內(nèi)容并應(yīng)用到從服務(wù)器。】
(2)、登錄mysql查看線程:
查看啟動線程
mysql> SHOWPROCESSLIST; +----+------+-----------+------+---------+------+-------+------------------+ | Id | User |Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+-------+------------------+ | 1 | root | localhost | NULL | Query | 0| NULL | SHOW PROCESSLIST | +----+------+-----------+------+---------+------+-------+------------------+根據(jù)結(jié)果顯示:此時還未啟動任何線程。
(3)、配置連接服務(wù)器:
命令參數(shù)解析:
mysql>helpCHANGE MASTER TO MASTER_BIND = 'interface_name' #將控制綁定在那個接口上 | MASTER_HOST = 'host_name' #主服務(wù)器地址 | MASTER_USER = 'user_name' #主服務(wù)器用戶(剛才創(chuàng)建的) | MASTER_PASSWORD = 'password' #主服務(wù)器密碼 | MASTER_PORT = port_num #工作端口 | MASTER_CONNECT_RETRY = interval #重試時間 | MASTER_HEARTBEAT_PERIOD = interval #每隔多長時間探測一下是否落后主服務(wù)器,主服務(wù)器是否在線 | MASTER_LOG_FILE = 'master_log_name' #指定從哪一個二進(jìn)制文件復(fù)制 | MASTER_LOG_POS = master_log_pos #指定哪一個二進(jìn)制文件的事件位置 | RELAY_LOG_FILE = 'relay_log_name' #中繼日志 | RELAY_LOG_POS = relay_log_pos | MASTER_SSL = {0|1} #是否使用SSL功能 | MASTER_SSL_CA = 'ca_file_name' | MASTER_SSL_CAPATH = 'ca_directory_name' | MASTER_SSL_CERT = 'cert_file_name' | MASTER_SSL_KEY = 'key_file_name' | MASTER_SSL_CIPHER = 'cipher_list' | MASTER_SSL_VERIFY_SERVER_CERT = {0|1} | IGNORE_SERVER_IDS = (server_id_list) #將某些ID號忽略掉配置從服務(wù)器連接主服務(wù)器:
(4)啟動從服務(wù)器線程:
mysql> START SLAVE;(5)查看從服務(wù)器工作狀態(tài)
mysql> SHOWSLAVE STATUS\G ***************************1. row *************************** Slave_IO_State: Waiting formaster to send event #I/O狀態(tài);接受主服務(wù)器發(fā)送狀態(tài) Master_Host: 172.16.18.7 #主服務(wù)器用戶賬號 Master_User: rpuser #用戶 Master_Port: 3306 #默認(rèn)監(jiān)聽端口 Connect_Retry: 60 #重試時間間隔 Master_Log_File: mysql-bin.000002 #讀取的二進(jìn)制日志文件 Read_Master_Log_Pos: 107 #事件位置 Relay_Log_File:relay-mysql.000003 #當(dāng)前讀取的中繼日志文件 Relay_Log_Pos: 253 Relay_Master_Log_File: mysql-bin.000002 Slave_IO_Running: Yes #I/O線程已啟動 Slave_SQL_Running: Yes #SQL線程已啟動 Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 107 Relay_Log_Space: 966 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 #落后主服務(wù)器時間 Master_SSL_Verify_Server_Cert:No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 17、測試
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com