mysql 主从复制 二

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。

发布了61 篇原创文章 · 获赞 1 · 访问量 597

猜你喜欢

转载自blog.csdn.net/u012842247/article/details/104082573