mysql -p
show slave status\G;
Slave_IO_Running: No
Slave_SQL_Running: No
若IO出现no:
原因:a:虚拟机的火墙没关;或者selinux不是disabled.
b:复制用户的密码不对。
c:制定的master_pos端口不对
d:master上的mysql-bin.xxxxxx被误删。
e:主库磁盘空间满了。
若SQL出现NO:
原因:则是配置文件有问题,或者数据不一致。
可以通过以下方式排查错误:
1.对比主库和从库的二进制日志的情况
2.通过show slave status\G查看错误信息
3.通过错误日志查看错误信息
主从复制有延迟:
a:有延迟与系统时间有关,查看主从两台机器间系统时间
b:有延迟与网络,机器性能有关,查看从库的io,cpu,mem等。
c:主从复制发生异常而中断,过很久之后才发现复制异常/可通过查看master和slave的status估算相差的日志,若相差太多,考虑重做从库。mysql出现启动慢:
在局域网内连接其他机器上的mysql,发现速度慢。
可以在/etc/my.ini里面添加
[mysqld]
skip-name-resolve
skip-grant-tables
skip-name-resolve 这个是用来禁用DNS解析,这样连接速度会块。但是在mysql的授权列表中只能使用ip不能使用主机名。
show variables like '%log_%'; ##查看数据库日志bin-log是否打开
slow_query_log on是打开
slow_launch_time 默认超过2s为慢查询
slow_query_log_file 慢查询日志存放地点
转载于:https://blog.51cto.com/nanyoujiayu/1842692