mysql主从数据库搭建详细步奏
话不多说直接开干:
我这里只弄了2台服务器:
192.168.134.25 -- master 服务器地址
192.168.134.91 --slave 服务器地址
在master 服务器 cd /etc/my.cnf配置文件里面添加如下代码:
log_bin=mysql-bin
server_id=25
在slave 服务器 cd /etc/my.cnf配置文件里面添加如下代码:
server_id=91
#这下面的可以不要
relay-log=relay-log
relay-log-index=relay-log.index
replicate-do-db=mstest #要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
replicate-ignore-db=mysql #要忽略的数据库
在master 服务器登录mysql
mysql -u root -p
在master 服务器上创建授权用户:
create user 'admin'@'192.168.134.91' identified by 'admin123';
grant replication slave on *.* to 'admin'@'192.168.134.91';
flush privileges;
查看master状态
show master status;
在slave 服务器上建立与master的连接:
change master to master_host='192.168.134.25',master_user='admin',master_password='admin123', master_log_file='mysql-bin.000001',master_log_pos=106;
如果执行报错
需要先执行以下命令:
stop slave;
reset slave;
再次执行连接信息即可,查看从节点的状态信息
SHOW SLAVE STATUS\G;
发现IO线程 和 SQL 线程都为NO.连接没成功,不要慌这是因为我们还没有启动复制线程
START SLAVE;
再次查看状态信息:
都为YES了成功!
接下来是测试:
分别在2个数据库建立如下表和数据
create database test;
use test;
create table test(id int(11), value varchar(20));
insert into test values(1, 'a'),(2, 'b'),(3, 'c');
可以在主库进行增删改操作然后去从库查看变化。