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.