一.linux作为主数据库
1.登录服务器(命令:ssh root@ip)
2./etc/mysql/mysql.conf.d 编辑mysqld.cnf,进行配置
server-id = 10(主从唯一的标识)
log_bin=master_bin(用于同步的日志文件)
binlog_do_db=master(指定同步的数据库)
binlog_ingore_db=mysql(指定不同步的数据库,可以不填)
主数据库配置完成,重启mysql(命令:service mysql restart)
使用navicat命令行界面:show master status;
记住file和position,在从数据库时要用到。
3.为从数据库创建用户,并分配权限,使能够访问主数据库
grant replication slave on *.* to 'slave' @'%' identified by '123456';
slave必须是全部,即*.* ,'slave'是用户名,‘%’是对所有ip,‘123456’是密码。
在windows命令行,输入:mysql -h ip(主数据库) -u slave -p 密码.检验是否创建用户成功了。
进入/var/log/mysql,打开error.log,看数据库的log,用于检错。
二.windows从数据库
1.打开my.ini文件,进行配置
server-id(主从唯一的标识,不能相同)
replicate_do_db=master(指定同步的数据库)
replicate_do_table=user(指定同步的数据表)
2.重启mysql(管理员下:net stop mysql,net start mysql)
3.stop slave;
4.change master to
master_host=主数据库ip,
master_user=在主数据库中创建的用户名,
master_password=在主数据库中创建的用户密码,
master_port=3306,
master_log_file=show master status中的file,
master_log_pos=show master status中的position;
5.start slave;
查看Slave_IO_Running和Slave_SQL_Running是否为YES,有一个为no都不行。
6.在主数据库中新建一个数据库master,查看从数据库是否多了一个master数据库。
注:若主数据库配置修改或主数据库重启了,检查一下从数据库master配置。若出现同步失败,检查master配置。