MySQL 主从配置

windows下安装mysql配置文件为my.ini

1.修改主库(master)的my.ini配置文件
my.ini文件在安装路径根目录下面。

[mysqld]
port = 3306
#设置master的serverid
server-id=1
#要生成的日记文件名称
log-bin = mysql-ctmdb
#要同步的数据库
binlog-do-db=ctmdb
#不同步的数据库,如果指定了binlog-do-db这里可以不用指定binlog-ignore-db
#binlog-ignore-db=Others
2.查看主库(master)的status

 

 

主要记住 File 和Position;后面从库(slave)连接主库(master)需要用到!

 

3.修改从库(slave)的my.ini配置文件
#server-id必须有且不能和其他master或slave重复
server-id = 2
replicate-do-db = ctmdb
#log-bin = mysql-ctmdb

4.从库(slave)连接主库(master)
此处均在从库(slave)中执行。

mysql> stop slave;
Query OK, 0 rows affected
mysql> change master to master_host='localhost(主库IP)',master_port=3306,master_user='root',master_password='*****',master_log_file='mysql-bin.000001',master_log_pos=107;
Query OK, 0 rows affected
mysql> start slave;
Query OK, 0 rows affected
mysql> show slave status;
master_log_file='mysql-bin.000001',  master_log_pos=107;

master_log_file,master_log_pos要和主库status中的 File 和Position对应!

 

 

主要看Slave_IO_Running、Slave_SQL_Running,这两个值都必须是Yes!

5,测试主从配置是否成功!
此处均在主库(master)中执行。

注: 如果主库已存在需要同步的database而从库没有对应的database的话 则手动同步数据到从库中(这里配置并不会自动同步之前已经存在的数据!);

这里同步的是已经存在数据的database所以我自己首先手动同步了两边主从库的数据。

若为新库则自己在主库(mastr)创建新database即可,从库会自动同步创建database;

mysql> use ctmdb
    -> ;
Database changed
mysql>  create table test(id int(10) not null primary key,name varchar(10));
Query OK, 0 rows affected

mysql>  insert into test(id,name) values(1,'Aaron');
Query OK, 1 row affected
在主库中创建一个表并插入一条数据。 然后我们刷新从库看看是否存在此表以及数据即可!

从库同步结果:

posted @ 2019-12-16 16:08  Aaronღ  阅读(140)  评论(0编辑  收藏  举报