这边记录下配置过程。
mysql 版本是5.5.6
一.在一台电脑上安装启动2个mysql实例,这边就不多说了。
二.将两个服务都停掉(这边我将主库叫做master , 从库叫做slave):
1.配置master的my.ini文件,在[mysqld]模块下添加
server-id=1 #这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错;
log-bin=mysql-bin #二进制日志文件,此项为必填项,否则不能同步数据;如果不取名字的话,那么就会以 计算机的名字加编号来命名二进制文件;
一般配置以上两条语句就可以了。
binlog-do-db = testcreate 需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果 不写,那么默认同步所有的数据库;
2.配置slave的my.ini文件,在[mysqld]模块下添加
server-id=2
3.将两个mysql服务都启动
4.在master中创建一个专门用于同步数据的账号,用户名:slave ,密码:slave,权限:Replication Slave。
5.配置主从同步,具体操作如下:
one:在master中使用show master status命令查看File 和 position情况并记下来。
two:用命令行登陆slave,需要切换到slave的bin目录下执行命令: mysql -uroot -proot,这边root root是mysql的用户名和密码
three:依次执行:slave stop;停止服务(注意后面的;不能丢)。
mysql> change master to
-> master_host='127.0.0.1',
-> master_user='slave',
-> master_password='slave',
-> master_port=3306,
-> master_log_file='mysql-bin000014.000001',
-> master_log_pos=107;
注意:这里的master_log_file,master_log_pos的值要和master的值一致。否则会无法同步。
执行slave start; 命令,启动服务。
验证是否同步:
执行show slave status\G;
当看到slave_IO_running:yes;
slave_sql_running:yes;都为yes表示成功。