MySQL的默认日志保存位置为/usr/local/mysql/data
日志开启方式有两种:通过配置文件或者是通过命令
通过命令修改开启的日志是临时的,关闭或重启服务后就会关闭
vim /etc/my.cnf
[mysqld]
......
用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
指定日志的保存位置和文件名
log-error=/usr/local/mysql/data/mysql_error.log
用来记录MySQL的所有连接和语句,默认是关闭的
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
用来记录所有当MySQL启动、停止或运行时发送的错误信息,默认是关闭的
log-bin=mysql-bin
或
log_bin=mysql-bin
用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5
systemctl restart mysqld
可以修改 MySQL 的配置文件 /etc/my.cnf 进行永久性修改,重启服务生效。
vim /etc/my.cnf
[mysqld]
#【错误日志】,用来记录当MySQL启动、停止或运行时发生的错误信息,
#【错误日志】默认是开启的
#指定【错误日志】的 保存位置和文件名
log-error=/usr/local/mysql/data/mysql_error.log
#【通用查询日志】,用来记录MySQL的所有连接和语句
#【通用查询日志】默认是关闭的
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
#【二进制日志】(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复。
#【二进制日志】默认已开启
log-bin=mysql-bin #也可以 log_bin=mysql-bin
#【慢查询日志】,用来记录所有执行时间超过 long_query_time 秒的语句,可以找到哪些查询语句执行时间长,以便于优化;
#【慢查询日志】默认是关闭的
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5
#设置超过5秒执行的语句被记录,缺省时为10秒
#重启mysql 服务使其生效
systemctl restart mysqld.service
mysql -u root -p
show variables like 'general%';
show variables like 'log_bin%';
show variables like '%slow%';
show variables like 'long_query_time';
set global slow_query_log=ON;
该方法重启服务失效
对数据库操作系统的物理文件(如数据文件、日志文件等)的备份;
物理备份的方法
冷备份(脱机备份):是在关闭数据库的时候进行的
热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件
温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作
专用备份工具 mydump 或 mysqlhotcopy
常用备份方式有:物理打包备份,还有 mysqldump 工具备份。
完全备份是对整个数据库、数据库结构和文件结构的备份;保存的是备份完成时刻的数据库;是差异备份与增量备份的基础;
优点:备份与恢复操作简单方便(就是压缩、解压缩、替换的过程)
缺点:数据存在大量的重复、占用大量的备份空间、备份与恢复时间长;
冷备份就是 停止 mysql 服务后,再进行备份;
热备份就是 mysql 在服务中就进行备份;
物理冷备份与恢复
systemctl stop mysqld
#xz 也是一个压缩工具,J:压缩,压缩文件结尾用 xz
yum -y install xz
#压缩备份
tar Jcvf /opt/mysql_all_$(date +%F).tar.xz /usr/local/mysql/data/
#解压恢复
tar Jxvf /opt/mysql_all_2021-02-05.tar.xz -C /usr/local/mysql/data
systemctl start mysqld