主库:127.0.0.1
从库:127.0.0.2
/etc/my.conf 配置文件地址
主库配置文件添加:
在 [mysqld] 下面 添加:
server-id=1
log-bin=mysql-bin
重启MySQL service mysql restart
从库配置文件添加
在 [mysqld] 下面 添加:
server-id=2
log-bin=mysql-bin
重启MySQL service mysql restart
主库下面执行:
show master status;
可以得到 file 和 position 2个值 一个是文件名 一个是行数
在从库下面执行:
change MASTER to MASTER_HOST="主库Ip",
MASTER_PORT=3306,
MASTER_user="root",
MASTER_PASSWORD="123456",
MASTER_LOG_FILE="mysql-bin.000001", ## show master status 得到的file值
MASTER_LOG_POS=106; ## show master status 得到的position值
在从库下面执行:
start slave 启动主从服务
stop slave 关闭主从服务 当挂载失败时执行该命令
show slave status 检测主从状态
如果 Slave_IO_Running 和 Slave_SQL_Running 的值都为 yes 则没问题,否则就有问题
数据同步可能会有稍许延迟,也跟网络有关
如果不为yes, 也可能跟主机账户的权限有关系
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456';
降低主从同步延迟的方法
1、优化网络 2、磁盘IO读写速度
3、大事务:就是当前的SQL语句是否有很多的写入语句
4、锁 :比如 select * from table for update,或者 MySQL引擎是 Myisam