1、Mysql的安装
这里使用tar包的方式
https://www.cnblogs.com/hanshuixin/articles/16887899.html
初始的默认密码:
tail -200f alert.log
localhost@root: 后面的内容,就是本机root用户的初始密码,需要记录下来 *<!ckp29Ne=&
2、错误日志
错误日志是MySQL 中最重要的日志之一,它记录了当mysql启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志 该日志时默认开启的,默认存放目录 /var/log,默认的日志文件名是 mysqld.log。可以通过以下的命令来看日志位置 show variables like "%log_error%"
3、二进制日志
定义
二进制日志binlog 记录了所有DDL语句和DML语句,但不包括数据查询(select show)语句
作用
1、灾难时的数据恢复
2、MySQL的主从复制时用到
查看是否开启二进制日志
show variables like "%log_bin%";
看到是否开启binlog 日志
#my.cnf中 加如下的内容
log-bin=mysql-bin
server_id=1
binlog_format=ROW
docker 安装mysql 5.7 开启binlog
docker run --name mysql -p 3306:3306 -v /Users/gaoheqiang/mysqlconf/mysqlconf/my.cnf:/etc/mysql/my.cnf -v /Users/gaoheqiang/mysqlconf/data:/var/lib/mysql -v /Users/gaoheqiang/mysqlconf/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root --restart=always -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
日志格式
STATEMENT
基于SQL语句的日志记录,记录的是SQL语句,对数据进行修改的SQL都会记录在日志文件中
ROW
基于行的日志记录,记录的是每一行的数据变更(执行了一个update 语句,update 语句影响了 5行,binlog 日志记录的是每一行数据变更前的数据,变更后的数据信息)
MIXED
没啥用
查看日志格式
show variables like "%binlog_format%";
日志内容查看
msyqlbinlog 配置环境变量
vi ~/.bash_profile
export PATH=$PATH:/usr/local/mysql/bin
source ~/.bash_profile
产看日志内容
mysqlbinlog -d mybatis -v mysql-bin.000001
-v 把行事件 重构为SQL语句
-d 指定数据库名称,只列出指定的数据库相关操作
二进制日志删除
对于比较繁忙的业务系统,每天生成的binlog数据巨大,如果长时间不清除,将会占用大量的磁盘空间。
reset master 删除全部 binlog日志。删除之后日志编号将从 000001开始
purge master logs to binlog .***** 删除*****编号之前的所有日志
purge master logs before 'yyyy-mm-dd hh mm ss' 删除日志为 某个日期之前 的 binlog日志
这个命令需要在mysql客户端执行。
MySQL 5.7 配置二进制日志的过期时间 重启生效
expire_logs_days=30
4、查询日志
查询日志中记录了客户端的所有操作语句,默认情况下查询日志时未开启的。 show variables like '%general%' 开启查询日志 /etc/my.cnf 添加如下的内容 general_log_file=/usr/local/mysql/log/general.log general_log=1 重启mysql service mysqld restart