Mysql5.7雙主安裝與使用
一. 兩台服務器IP:192.168.0.1,192.168.0.2
二. 分別在兩台服務器安裝mysql5.7
1. 查看是否已經默認安裝mysql軟件:
rpm -qa|grep mysql
如果存在的話,繼續刪除即可
yum remove mysql *
2.安裝mysql5.7
vi /etc/yum.repos.d/mysql-community.repo
寫入:
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
3. sudo yum install mysql-community-server
4.在192.168.0.1編輯/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
user=mysql
port = 3306
socket = /var/lib/mysql/mysql.sock
log-bin=mysql-bin
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
report-port=3306
report-host=192.168.0.1
#replicate-same-server-id #主要用於同時寫的情況
server_id = 1 #從寫 server_id = 2
log-slave-updates
slave-skip-errors=all
auto_increment_increment=2
auto_increment_offset=1 #從寫 auto_increment_offset = 2
5. 在192.168.0.2編輯/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
user=mysql
port = 3306
socket = /var/lib/mysql/mysql.sock
log-bin=mysql-bin
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
report-port=3306
report-host=192.168.0.2
#replicate-same-server-id #主要用於同時寫的情況
server_id =2
log-slave-updates
slave-skip-errors=all
auto_increment_increment=2
auto_increment_offset=2
給出了雙主配置的主要幾個參數,主要是開啟了gtid模式,和限制的雙主自增步長
6.分別在兩台服務器上啟動mysql5.7
sudo service mysqld start
7. 修改root密碼方法
先關掉mysql:
service mysqld stop
然后用非安全模式啟動:
mysqld_safe --skip-grant-tables &
登錄mysql:
Mysql –uroot –p
輸入:
update mysql.user set authentication_string = password('xxxxxxxx') where user='root' and Host = 'localhost';
ok修改完成!
然后退出mysql.並且kill掉mysql進程
正常啟動mysql
service mysqld start
進入mysql:
在執行一次ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx';
就ok了,密碼就修改完了
三. 雙主配置
配置之前一定記得查看一下防火牆是否有關閉或者開啟3306端口
1.分別進入mysql給互相建立復制的賬號:
grant replication slave on *.* to 'slave'@'192.168.0.1' identified by '*****';
2.然后分別查看binlog信息:
show master status\G;
3.設置復制信息比如在192.168.0.1上:
change master to master_host='192.168.0.2',master_user='slave',
master_password='****',master_log_file='binlog.000052',
master_log_pos=500
其中master_log_file和master_log_pos參數就是剛剛在192.168.0.2上查看binlog信息對應值 ,在192.168.0.2上也是如此
4.啟動雙主復制:
上面一直設置好復制點,然后在輸入復制啟動命令 start slave;
在輸入命令show slave status\G;如果看到這兩個參數如下所示就算成功了
好了整個雙主配置就完成了,可以試試在其中一台服務器上建立數據庫和插入數據有沒有同步到另一台上。
四. 一般故障排除
- 如果前台程序反應數據時有時無,可以考慮有台數據庫數據不同步
這時候進入兩台數據庫查看系統負載,load很高的那台應該就是服務器應付不過來了,進入mysql.
