MySql配置文件配置
window: my.ini centos: my.cnf
主数据库配置
#配置数据库的唯一标识符,一般1位主库,从库为ip地址最后一位 server-id = 1 #启用二进制日志,对应mysql-bin.xxxxx文件 log-bin = mysql-bin #需要同步的数据库名 binlog-do-db=test1 #不需要同步的数据库名 binlog-ignore-db=mysql
主数据库创建一个slave角色,使从库可以用这个角色访问主库
#创建用户 create user 'repslave'; #给用户授权 GRANT REPLICATION SLAVE ON *.* TO 'repslave'@'192.168.%.%' IDENTIFIED BY 'selfpassword'; #上面第一个*代表表,第二个*代表数据库 #repslave是我们创建的用户 #@后面的ip表示可以访问主库的ip地址 #selfpassword是我们用repslave访问数据库的密码
注意如果主库以前配置过主库或者从库,我们先将这些配置重置;
一下操作在mysql内执行
#重置master前需要将所有slave停止 #重置slave前也许将slave停止 stop slave; #重置master reset master; #查看master状态 show master status; #重置slave reset slave all; #查看slave状态 show slave status;
配置从数据库,可设置多个从数据库
centos7中my.cnf一般在/etc/my.cnf win中为my.ini
在my.cnf或者my.ini后加入
#唯一标识符 server-id = 16 #需要同步的数据库 replicate-do-db = test1
如果需要配置多个从服务器的话,只需在多的从服务器中添加上述配置并保证唯一标识符不一样即可.
重启mysql
centos: systemctl restart mysqld
win: cmd中输入net stop mysqld;net start mysql;
或者在任务管理器中重启mysql;
然后可以检查下从库状态,进入mysql执行 show slave status;
若未启动可以利用start slave;启动从数据库
从数据库连接主数据库
登录mysql执行下面sql
# 47.106.0.104为主库的ip
change master to master_host='47.106.0.104',
# 主的端口
master_port=3306,
# 创建的用户名及密码
master_user='repslave',
master_password='repslave',
#Master服务器产生的日志和端口,如果master重启该文件和端口会改变
#可以再master中用show master status查询对应的值
master_log_file='master-bin.000001',
master_log_pos=1615;