主题
一、从库 213 安装
从库安装步骤略,my.cnf 配置如下:
bash
[mysqld]
user=mysql
port=3306
# data 目录
basedir=/mydata/application/mysql/app
datadir=/mydata/application/mysql/data/
character-set-server=utf8
max_connections = 11000
# 最大连接数
group_concat_max_len = 102400
# 忽略表名大小写
lower_case_table_names = 1
log_bin_trust_function_creators=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
transaction_isolation = READ-COMMITTED
open-files-limit = 65535
# 主服务器唯一ID
server-id=213
# 启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
# 从库不进行同步的库
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=sys
replicate-ignore-db=performance_schema
# 设置 logbin 格式
binlog_format=MIXED
# 在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
# 表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 .. 65535
auto-increment-increment=2
# 表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 .. 65535
auto-increment-offset=1
# 2024-04-18 新增配置
# 数据缓冲区
innodb_buffer_pool_size = 8G
innodb_log_buffer_size = 16M
table_open_cache = 16384
table_definition_cache = 16384
# 错误日志
log-error=/mydata/application/mysql/logs/mysqld.log
# 打开慢查询日志功能
slow_query_log = ON
# 超过5秒的查询记录下来
long_query_time = 5
# 记录下没有使用索引的查询
log_queries_not_using_indexes = 1
# 慢查询日志路径
slow_query_log_file=/mydata/application/mysql/logs/slow_query.log二、登陆从库 213,执行如下命令
bash
change master to \
master_host="10.156.156.134", \
master_user="root", \
master_password="XXXXXXX", \
master_port=3307; # 非默认端口需要添加
# 停用同步
stop slave;三、在从库 213 上,备份主库 134 的数据
bash
# 找出需要备份的库名
name=`/mydata/application/mysql/app/bin/mysql -h X.X.X.X -P 3307 -u root -p'XXXXXXX' -e "show databases;" | grep -Ev "^(Database|sys|information_schema|mysql|performance_schema)$" | tr "\n" " "`
# 备份数据,加上存储过程,加上备份时刻主服务器的二进制日志文件名(LOG_FILE)和位置(LOG_POS)
/mydata/application/mysql/app/bin/mysqldump -h X.X.X.134 -P 3307 -u root -p'XXXXXX' --master-data --routines --set-gtid-purged=OFF --databases $name > /mydata/application/mysql/bak/full_bak/full_`date +"%F"`.sql 2>&1四、主库 134 数据恢复到从库 213 上
bash
# 登陆从库 213
mysql -u root -p'XXXXX'
> source /mydata/application/mysql/bak/full_bak/full_XXXX.sql;
# 开启同步
start slave;
# 查看同步状态
show slave status\G;
