一、找到MySQL的配置文件
- linux:在 /etc/mysql中的mysql.cnf
或者/etc/mysql/mysql.conf.d中的mysqld.cnf - windows: 一般在C:\Program Files (x86)\MySQL\MySQL Server 下有一个my.ini的 文件
二、主机配置
在配置文件中找到 [mysqld]1
2
3
4
5
6
7
8[mysqld]
下面时新加的内容
server-id=200 # 设置主服务器器的ID 数字随意
innodb_flush_log_at_trx_commit=2
操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失
sync_binlog=1 # 开启binlog日日志同步功能
log-bin=mysql-bin-200 # binlog日日志文文件名
binlog-do-db=goto # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)
注意:这里还有一个地方没有修改,后面会出现
1
2bind-address = 127.0.0.1
表示只监听本地,所有其他ip(从机)会被拒绝,连不上
最好把上面bind-address注释掉1
bind-address = 127.0.0.1
配置完成后重启一下
linux:1
2systemctl restart mysql
或者 service mysqld restart
window:1
2停止服务:net stop mysql
开启:net start mysql
登录mysql
1 | mysql -uroot -p |

这里的File和Position的值配置从库的时候有用
三、从机配置
配置从库
还是mysql的配置文件1
2
3
4server-id=300
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-300
重启从机的mysql服务
命令和上面的一样
测试一下是否能连上刚才分配mark
1 | mysql -umark -h192.168.1.12 -p123456 |
可以进入的话一般就ok
进入mysql客户端1
mysql>change master to master_host='192.168.1.12',master_user='mark' ,master_password='123456', master_log_file='mysql-bin-202.000003' ,master_log_pos=564;
1 | mysql> start slave; ##开启从库 (stop slave:关闭从库 |
1 | mysql> show slave status; # Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功 |

验证主从复制功能(略…)
mysql>create database hello default charset=’utf8’;
mysql>use hello;
1
2
3
4
5
6 > mysql>create table user (
> id int primary key auto_increment,
> name varchar(128) not null,
> age int not null
> );
>
查看从库是否有——————————————————————->
