修改数据存储路径

查询存储路径

mysql -u root -p -e "SHOW VARIABLES LIKE 'datadir';"

修改配置文件

vim /etc/mysql/my.cnf
```````````
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
```````````

复制数据

sudo cp -r /var/lib/mysql/* /data/mysql

重启MySQL服务

systemctl restart mysqld

设置缓存

配置文件

# 启用查询缓存
query_cache_type = 1
query_cache_size = 1073741824
#引擎缓冲区
innodb_buffer_pool_size = 4096M

重启MySQL服务

systemctl restart mysqld

查询缓存设置

# 查询缓存设置状态
SHOW VARIABLES LIKE 'query_cache_type';
# 启用查询缓存并设置大小
SET GLOBAL query_cache_type = ON;
SET GLOBAL query_cache_size = 268435456;

# 缓存容量查询
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW VARIABLES LIKE 'key_buffer_size';
SHOW VARIABLES LIKE 'query_cache_size';

二进制文件

修改配置文件启用二进制日志

# 这个ID在主服务器和从服务器之间必须唯一
server-id=1001
# 指定二进制日志的位置
log_bin = /data/logs/mysql-bin.log
# 设置保存天数
expire_logs_days = 10
# 设置日志最大容量
max_binlog_size = 1024M

SQL命令

# 开关二进制日志写入
SET SQL_LOG_BIN=0/1;
# 查看开启状态
SHOW VARIABLES LIKE 'log_bin';
# 查看日志列表
SHOW binary logs;
# 查看正在写入的二进制日志文件
SHOW master status;

# 删除所有
RESET MASTER;
# 根据编号删除
PURGE MASTER LOGS TO 'filename.number';
# 删除某文件以前的
PURGE MASTER LOGS TO 'mylog.000004';
# 删除某日期以前的
PURGE MASTER LOGS TO 'yyyy-mm-dd hh:MM:ss';
# 阅读二进制日志
mysqlbinlog -v -d db_name --start-datetime="2024-03-06 11:40:17" --stop-datetime="2024-03-06 11:40:21" mysql-bin.000155

# 导出
mysqlbinlog -v  --base64-output=decode-rows -d db_name --start-datetime="2024-03-06 11:40:17" --stop-datetime="2024-03-06 11:40:21" mysql-bin.000155

主从复制状态检测

# 查看从库状态
SHOW SLAVE STATUS\G;
# 跳过错误
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 100;
# 停止复制
STOP SLAVE;
# 开始复制
START SLAVE;