本实例为为远程linux服务器 与windows服务器做主从设置、操作计算机为linux
mysql创建用户并赋予权限
grant 权限 on 数据库.表名to 用户名@主机 identified by ‘密码’
权限:all或者select,insert,update,delete,create,drop
主机:指定ip地址访问、 localhost或127.0.0.1(本地访问)、%(任意主机均可访问)
用户需要在本地无法访问 、必需创建一个主机为localhost 的权限
密码:为空时则不需要密码
主服务器操作:
1、linux管理员连接主服务器
2、ssh root@192.168.1.1 访问远程服务器
3、vi /opt/lampp/etc/my.cnf 编辑sql配置文件
改为只读 read-only 保存
4、 编辑my.cnf文件
(主服务器为1 从服务器不能相同)
server-id = 1
log-bin=mysql-bin (日志文件)
binlog-do-db = mydb 要同步的数据库
5
、
/opt/lampp/lampp restart
重启服务器
从服务器操作
1、配置mysql/bin/my.ini文件
server-id= 2(与主服务器不同)
log-bin=mysql-bin 日志文件
replicate-do-db=mydb 要同步的数据库
或binlog-do-db = mydb
2、主服务器要同步的数据库全备份到 从服务器
3、从服务器 进入mysql 设置slave
CHANGE MASTER TO MASTER_HOST='192.168.1.1',MASTER_USER='root', MASTER_PASSWORD='****';
4、开启服务
START SLAVE;
5、关闭主服务器只读状态
主从服务器不同步解决方法
1、在从服务器 数据库中使用root用户 操作 SHOW SLAVE STATUS 察看同步状态;
若 Slave_IO_Running: Slave_SQL_Running: 有NO 即服务器不同步
不同步时 尝试进入mysql 重启slave
使用命令 stop slave; start slave;
2、仍未解决 修改主服务器my.ini文件
添加read only 使mysql只读运行
3、删除mysql/mysql-bin开头 的所有文件
4、主服务器 数据库操作 reset master (非必需时谨慎使用)
5、重新备份数据库
使用navacate data transfer 功能
6、从服务器 删除 /mysql/data下的mysql-bin开头的文件
7、从服务器重置 slave
stop slave;
rest slave;
CHANGE MASTER TO MASTER_HOST='192.168.1.1',MASTER_USER='root', MASTER_PASSWORD='****';
8、重启 slave
9、取消主服务器只读状态;