1.在主数据库中创建新数据库ludd_master
2.编辑主数据库的my.ini文件,在[mysqld]节点中增加如下内容:
#主从复制配置
#指定唯一的ID,1至32,必须的
server-id=1
#指定二进制日志存放路径,必须的
log-bin=mysql-log-bin
#指定要同步的数据库,必须的
binlog-do-db=ludd_master
#binlog-ignore-db=mysql #指定不要同步的数据库,如果指定了binlog-do-db就不用
[mysqld]
# 设置mysql服务器编码
character_set_server=utf8
#basedir设置mysql的安装目录,如果目录中带空格则必须加引号
#datadir设置mysql数据库的数据的存放目录,文件夹名必须是data
basedir=D:\Program\Database\mysql-5.6.35-winx64
datadir=D:\Program\Database\mysql-5.6.35-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#主从复制配置
#指定唯一的ID,1至32,必须的
server-id=1
#指定二进制日志存放路径,必须的
log-bin=mysql-log-bin
#指定要同步的数据库,必须的
binlog-do-db=ludd_master
#binlog-ignore-db=mysql #指定不要同步的数据库,如果指定了binlog-do-db就不用
3.重启主数据库,然后在主数据库中建立一个备份账户
mysql>grant replication slave on *.* to slave@192.168.0.102 identified by 'slave' ;
mysql>flush privileges;
注:slave@192.168.1.102是从数据库使用账号和Ip, identified by 后面 'slave'指定的slave是账号slave@192.168.1.102 的密码
4.查看主服务器的状态,记录File 和 Position 的值;
mysql>show master status;
5.在从数据库中创建新的数据库ludd_master,编辑从数据库的my.ini文件
在[mysqld]节点中添加:
# 主从复制
#指定唯一的ID,2至32,必须的,并且不能跟主数据库一样
server-id=2
#指定要同步的数据库,必须的
replicate-do-db=ludd_master
#replicate-ignore-db=mysql #指定不要同步的数据库,
[mysql]
default-character-set = utf8
[mysqld]
basedir=E:\mysql-5.6.35-win32
datadir=E:\mysql-5.6.35-win32\data
port=3306
character-set-server = utf8
# 主从复制
#指定唯一的ID,2至32,必须的,并且不能跟主数据库一样
server-id=2
#指定要同步的数据库,必须的
replicate-do-db=ludd_master
#replicate-ignore-db=mysql #指定不要同步的数据库,
[client]
default-character-set = utf8
6.重启从数据库,设置登录主数据库的账号、密码、master_log_file(File)、master_log_pos(Position),然后启动slave
mysql>change master to master_host='192.168.0.110',master_user='slave',master_password='slave', master_log_file='mysql-log-bin.000001',master_log_pos=911;
mysql>start slave;
7.查看从数据库的信息
mysql>show slave status \G;
如果出现: Slave_IO_Running: Yes
Slave_SQL_Running: Yes
都为Yes,即配置成功
8.测试主从复制是否有效果
在主数据建表、加数据,查看从数据是否同步
参考网页:http://jingyan.baidu.com/article/d71306352c4b5813fcf47553.html