MySQL从库配置维护回顾

因前两天的MySQL从库运行出现问题见 MySQL从库损坏后重建,顺便将MySQL的从库配置维护温习了一下。


MySQL从库建立配置方法(针对MyISAM数据库)

1.主库上的设置

a.my.cnf中的mysqld节主要设置 server-id 和 log-bin 参数

log-bin
server-id=1
log-bin=my-binlog

b.数据库中创建 从库复制 用的账号。

  1. GRANT replication slave,reload,super ON *.* TO 'myslave'@'192.168.0.200' IDENTIFIED BY 'myslavepwd'

2.从库上的设置

my.cnf中的 mysqld 节主要设置 server-id ,从库的server-id 不能和主库或其他从库相同

master-host=192.168.10.100
master-user=myslave
master-password=myslavepwd
master-port=3306
server-id=2
master-connect-retry=60

3. 给从库准备初始的主库数据

先在主库中执行

  1. FLUSH TABLES WITH READ LOCK;
  2. SHOW master STATUS;

记录下日志位置信息,

a. 冷备份

将数据库停掉,然后做数据库物理数据文件的拷贝。

b. 热备份

不停止数据库,直接在线做数据文件拷贝,拷贝完后在执行 unlock tables; 命令将数据表的锁释放

c. 热备份

使用 mysqldump 命令,导出数据库的数据。导出完成后使用 unlock tables;命令将数据表的锁释放

4. 将从库和主库连接前来

a. 停止从库运行
b. 给从库的my.cnf文件中添加 skip-slave-start 参数
b. 将从主库备份的文件拷贝到数据目录下
c. 开启从库服务器
d. 用账号登陆到从库数据库,使用 change master to 命令修改主库服务器的连接信息。其中日志位置信息为
e. 使用 slave start; 开启从库进程的运行,在 show slave status\G;查看从库状态
f. 修改 my.cnf 文件,将 skip-slave-start 参数注释掉,以便在下一次运行数据库服务时自动开启从库复制


也可以在从库上执行 LOAD DATA FROM MASTER; 来导入主库中的数据(一般不建议这种方法)

5.关于维护一些问题

1.主库的日志清理

日志文件要定期清理,要不然如果频繁做更新插入操作时会很占磁盘空间。使用 purge 命令处理,不过要小心,如果和从库接不上,从库就要重做了。

  1. purge master logs TO ‘binlog.000004’;
  2. purge master logs before '2008-10-12 22:10:00';

可以在主库的 mysqld 节设置 expire_logs_days 参数,自动将 一些天前的日志清除。

expire_logs_days=21

2.从库的relaytime监测

在从库上使用 show slave status\G; 查看从库的运行状态,及时做故障修复处理。

3.定期的全库备份

为了安全考虑,定期做数据库的全量复制备份。
可以使用 www.innodb.com 公司的 ibbackup 程序和 innobackup 脚本做自动话的备份处理.
————–
对MySQL的备份还可以参见: 常见MySQL数据库备份工具和备份方式比较
还可以参见
MySQL性能优化工作小结

Popularity: 4% [?]

Related

Comments

Comments are closed.