centos7搭建(mariadb)mysql搭建主备
例如 主master192.168.198.128
备slave192.168.198.129
1.修改mysql配置文件
#####maser端#####
my.cnf:
# vi /etc/my.cnf
[mysqld] datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id=200
log-bin=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
####slave####
vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id=132
log-bin=mysql-bin
replicate-do-db=test
log-slave-updates=1
然后分别重启主备机的mysql
2.停止主备的防火墙,或者防火墙开放相应端口。
systemctl stop firewalld
3.设置主机root远程登录
mysql -uroot -p123456
>grant all on *.* to 'root'@'%' identified by '123456';
>flush privileges;
4.配置slave
在备机登录mysql
mysql -uroot -p123456
>stop slave;
>change master to master_host='192.168.198.128',master_user='root',master_password='123456';
>start slave;
查看slave状态
>show slave status\G;
如果出现以下代表成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
5.试验方法。
在主机的test数据库中创建表插入数据
CREATE TABLE user (ID varchar(40) NOT NULL ,UserID varchar(40) NOT NULL)
insert into user (ID, UserID) values(11,11)
然后在备机的test数据库中能够查到相应数据
ps:实际情况中数据库可能不是test。只要把备机mysql配置文件中的数据库名修改成与主机对应的数据名即可。
############此下无正文############