本帖最后由 微小笑 于 2017-8-30 20:24 编辑
一、环境准备
两台linux服务器,并且都安装了MySQL数据库
linux:CentOS 6.6
MySQL:5.5
我这里使用两台linux虚拟机演示
192.168.1.103(MySQL主机)
192.168.1.104(MySQL备机)
二、安装Linux、安装MySQL
略
三、搭建步骤
3.1 修改MySQL主机上的MySQL的配置文件
vim /etc/my.cnf
在/etc/my.cnf配置文件的[mysqld]下加入如下两行内容:
3.2 在MySQL主机上重启MySQL服务
service mysqld restart
3.3 进入MySQL数据库可以查看刚才配置的server-id
进入MySQL数据库
mysql -uroot -p123
查看server_id
show variables like 'server_id';
由于这台是主机,可以查看主机的状态
show master status;
3.4 授权备机能够进行数据同步
GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.1.103'IDENTIFIED BY '123'; 3.5 MySQL备机上重复3.1和3.2步骤,但是配置server-id不能相同 3.6 配置好后,也可以根据3.3查看备机的配置 3.7 在备机中执行以下SQL语句,表示到主机中去同步数据 change master to master_host='192.168.1.103', master_port=3306, master_user='root', master_password='123', master_log_file='mysql-bin.000001', master_log_pos=154; |
master_host:表示要去同步的主机 master_user:表示要去同步的主机数据库的用户名 master_password:表示要去同步主机数据库的密码 master_log_file:表示要去同步的主机数据库的log日志,就是我们配置的log-bin,也就是show master status;查看的结果 master_log_pos:表示从哪一行开始同步 3.8 开启同步 start slave; 可以查看备机的从服务器的状态 show slave status\G;
如果Slave_IO_Running、Slave_SQL_Running都为Yes表示成功 其中任何一个为No都不行 至此,主从复制搭建完毕!!! 四、测试效果 4.1 在主机上创建测试数据库 create database test_db; 进入数据库test_db use test_db; 4.2 在test_db上创建测试表 create table test_table(id int(5), name varchar(11)); 查看所有的表 show tables;
4.3 往test_table表中插入一条数据 insert into test_table values(1, 'test_01'); 查看test_table表中的数据 select * from test_table;
到备机的数据库查看与主机有相同的数据 至此,主从复制搭建完毕!
备注:如果要搭建双主复制的结构,只需要在备机上授权主机也能够同步备机的数据,然后在主机上执行3.7步骤,将相应的数据改为备机的数据即可。
|