mysql主从热备 转贴
mysql主从热备有2种配置方式,备份某些库或者忽略备份某些库,建议选择后者
master机器
[Copy to clipboard]View Code TEXT
vi my.cnf,添加下面的
log-bin
server-id = 1
#sql-bin-update-same
binlog-do-db=mysql //备份的数据库名,可以添加多个或者
slave机器
[Copy to clipboard]View Code TEXT
log-bin
server-id = 2
#sql-bin-update-same
master-host=192.168.8.201
master-user=backup
master-password=123456
master-port=3306
master-connect-retry=10
replicate-do-db=mysql
#log-slave-updates
或者
master机器
[Copy to clipboard]View Code TEXT
server-id = 1
expire-logs-days = 7
binlog-ignore-db=test
slave机器
[Copy to clipboard]View Code TEXT
server-id = 2
master-host=192.168.8.201
master-user=backup
master-password=123456
master-port=3306
master-connect-retry=10
expire-logs-days = 7
replicate-ignore-db=test
在master机器上面授权:
[Copy to clipboard]View Code TEXT
mysql>GRANT all ON *.* TO backup@192.168.8.202 IDENTIFIED BY "123456";
到此为止配置完成了(第一次配置需要重启mysql),剩下的工作就是再主从热备开始前保持主从的数据完全一致:
对于myisam的表,直接把master机器mysql/data目录下面的所有文件同步到slave机器对应的目录即可
对应innodb的表,不能直接同步文件,需要用mysqldump导出数据,然后在slave机器上面导入即可
注意在同步数据期间,master机器锁表成只读模式:
[Copy to clipboard]View Code TEXT
mysql>flush tables with read lock;
这期间主从mysql都可以不停,数据同步完毕之后,再master机器上查看mysqlbinglog和偏移量,例如:
[Copy to clipboard]View Code TEXT
mysql> show master status;
+---------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------------+----------+--------------+------------------+
| mysql-bin.000012 | 4117873 | | test |
+---------------------+----------+--------------+------------------+
然后在slave机器上面修改成对应的日志文件和偏移量即可:
[Copy to clipboard]View Code
相关文档:
摘抄自:http://database.ctocio.com.cn/153/9232653.shtml
很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。相对来说,将数据装入数据库是直截了当的。然而,也存在可用来改善数据装载操作效率的策略,其基本原理如下:
成批装载较单行装载更快,因为在装载每个记 ......
最近工作上常用到MySQL,发现MySQL的错误提示音比较烦人,上网搜索了一下,有以下三种关闭该提示音的方法:
方法1. 使用终端命令
使用MySQL的命令终端时,使用mysql --no-beep即可。
方法2. 修改MySQL配置文件my.ini
在[mysql] 下加入一行
no-beep
&nb ......
my.ini文件配置: [mysql] default-character-set=GBK #此处的编码是MySQL控制台显示的编码方式,应该设置为GBK [mysqld] default-character-set=utf8 #此处的编码是MySQL数据存储的格式,应该设置为utf8,可以存储世界上绝大多数字符 ......
我一直是使用mysql这个数据库软件,它工作比较稳定,效率也很高。在遇到严重性能问题时,一般都有这么几种可能:
1、索引没有建好;
2、sql写法过于复杂;
3、配置错误;
4、机器实在负荷不了;
1、索引没有建好
如果看到mysql消耗的cpu很大,可以用mysql的client工具来检查。
在linux下执行
/usr/local/mysql/bin/ ......
使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好。
一、数据备份捷径
因为这个方法没有得到官方正式文档的验证,我们暂称为试验吧。
目的:备份hostA主机中一个mysql数据库TestA,并恢复到到h ......