1 日志
1.1 错误日志
1.2 二进制日志
查看二进制日志:
mysqlbinlog ./binlog.000007
purge master logs to 'binlog.000006'
reset master
show variables like '%binlog_expire_logs_seconds%'
默认二进制文件只存放30天,30天后会自动删除。
1.3 查询日志
1.4 慢查询日志
定位哪些SQL执行时间比较长
2 主从复制
2.1 主从复制概念
将主库的数据变更同步到从库,从而保证主库和从库数据一致;
读写分离:增删改的请求操作主库,查询的请求操作从库,降低主库的访问压力
数据备份的话,在从库中执行,从库加锁后备份,由于从库只进行查询,因此加锁不会降低从库的并发性能。如果没有主从复制的话,给数据库加锁进行备份,加锁期间不能进行增删改操作,降低并发性能。
2.2 主从复制原理
1、主库在执行增删改(DML)和DDL语句时,会将数据变更写入到二进制日志(binlog)中
2、从库有两种线程,IO线程发起请求连接主库,读取主库中的binlog,保存到从库relay log中;
SQL线程负责读取relay log,在从库中执行relay log中的数据变更,从而实现主从数据库数据同步变化
2.3 搭建主从服务器
2.3.1服务器准备
建议主从服务器开放3306端口,而不是关闭防火墙。
2.3.2 配置主库
用户名itcast
@‘%’表示itcast这个用户可以在任意主机上访问当前服务器
‘Root@123456’表示itcast这个用户的密码
从binlog.00001这个文件的157位置开始向从库服务器同步
2.3.3 配置从库
1、从库只有查询操作,所以read-only为1;主库需要增删改因此read-only为0
2、注意read-only的设置只对普通用户生效,对于超级管理员不生效,超级管理员默认有读写权限。如果想设置超级管理员的读写权限,需要设置super-read-only属性,比如super-read-only=1(超级管理员只能读取数据库)
source_host:主库的IP
source_user:主库中具有主从复制权限的用户名
source_password:user的密码
source_log_file:主库开始复制的Binlog
source_log_pos:开始复制的Binlog的起始位置
Replica_IO_Running和Replica_SQL_Running都为Yes的话,说明主从复制状态正常。