1、 上次我搭建了单台mysql服务器,搭建主从复制结构,提高mysql 的可用性。
2、我先设定Mysql-1 为master 服务器, mysql-2 为salve 服务器。
修改mysql-1 配置文件:在master节点上配置
[root@mysql_a ~]# vi /etc/my.cnf
#在配置文件中添加这个信息
server_id=80
log-bin=mysql-bin
3、重启master节点
[root@mysql_a ~]# systemctl restart mysqld
4、验证是否配置成功?
# 验证master id 标识是否配置成功,查到发现配置成功了。
mysql> show variables like '%server_id%';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| server_id | 80 |
| server_id_bits | 32 |
+----------------+-------+
2 rows in set (0.00 sec)
mysql>
5、查询下master服务器状态,file 是我配置bin_log 文件。
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
6、配置salve 节点,由于salve节点是从master copy的,需要修改两个地方,server_id、uuid
# 打开 /etc/my.cf 文件修改
server_id=81
###同步数据库,多个用逗号隔开如: test1,test2,test3...
binlog_do_db=test
#找到mysql
[root@mysql_b mysql]# pwd
/var/lib/mysql
# 这个文件时自动生成的,删除后,重新生成即可。
[root@mysql_b mysql]# ll
总用量 110604
-rw-rw----. 1 mysql mysql 56 1月 24 08:06 auto.cnf
[root@mysql_b mysql]# rm -rf auto.cnf
[root@mysql_b mysql]# systemctl restart mysqld
[root@mysql_b mysql]# ll
总用量 110612
-rw-rw----. 1 mysql mysql 56 1月 24 21:23 auto.cnf
7、在从节点执行以下命令。
mysql> change master to master_host='mysql_a.fandong.com',master_user='root',master_password='root',
-> master_log_file='mysql-bin.000001',master_log_pos=120;
Query OK, 0 rows affected, 2 warnings (0.15 sec)
master_log_file: 是刚才master节点,我们配置的。
master_log_pos: 从哪个位置开始读,同样主节点都可以查到,上文中。
8、 开启同步
mysql> start slave
-> ;
Query OK, 0 rows affected (0.02 sec)
9、查询从节点是否配置OK?
show slave status; 命令,slave_io_running/slave_sql_runing 这个两个线程已经启动了。
10 验证是否OK?
在主节点创建
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
mysql> create table if not exists `test`.`t1`(name varchar(20));
Query OK, 0 rows affected (0.03 sec)
查询从机
在master 插入一条数据
mysql> insert into `test`.`t1` (name) values ('mysql');
Query OK, 1 row affected (0.01 sec)
从机查看:
发现主从复制配置OK。