(1) 启动两个mysql 一个作为主数据库一个作为从数据库
(2) 启动之前修改端口号 my.ini文件 port 的属性
(3) 启动命令到mysql 的bin目录下执行命令mysqld --console
(4) 给数据库开启远程访问权限 切换到Mysql 数据库命令时 use mysql;
执行命令GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; 在执行FLUSH PRIVILEGES; 让命令生效从服务器同理
(5) 配置主(master)服务器
配置属性:server-id=1#主库和从库需要不一致
log-bin=p2p-bin
binlog-do-db=p2p#同步的数据库
#binlog-do-db=keyboard#同步的数据库
#binlog-ignore-db=mysql#不需要同步的数据库
查看server_id
SHOW VARIABLES LIKE 'server_id';
show master status;
要记下file和position
+----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| p2p-bin.000001 | 120 | p2p | | |
+----------------+----------+--------------+------------------+-------------------+
创建用户 create user 'slave'@'从服务器ip(同一台主机则输入127.0.0.1)' identified by '123456';
赋予权限 grant replication slave on *.* to 'slave'@'从服务器ip(同一台主机则输入127.0.0.1)';
(6) 从库配置
现在my.ini中配置从属关系:
server-id=2
log-bin=p2p-bin
replicate-do-db=p2p#需要同步的表
选中mysql 先执行 use mysql; 再执行 stop slave;
指定主库命令:
change master to master_host='127.0.0.1',master_port=3306,master_user='slave',master_password='123456',master_log_file='p2p-bin.000001',master_log_pos=120;
开启从库 :
start slave;
(7) 检验是否可以打通了输入:show slave status; 查看io_running sql_running状态是否为yes。