MySQL手记:备份与恢复

数据库的备份与恢复是一个十分重要的环节。作为一款饱受欢迎的开源数据库,MySQL也具有十分丰富的保障功能。

备份数据库有两种办法,一是在MySQL里面用SQL语言备份,另外一种办法mysqldump工具,首先是前者,把Employees表的所有列备份到/home/fedora里面:

SELECT * FROM Employees INTO OUTFILE ‘/home/fedora/Employees.txt’;

若是使用mysqldump,则可以把整个数据库的表结构备份下来:

mysql -h localhost -u root -p 123456 YGGL Salary > /home/fedora/Salary.sql

也可以把整个数据库的所有表备份:

mysqldump -u root -p 123456 –database YGGL > /home/fedora/YGGL.sql

恢复数据表可以使用LOAD DATA语句:

LOAD DATA INFILE ‘/home/fedora/Employees.txt’ REPLACE INTO TABLE Employees;

同样在bash里面,mysql也可以用于恢复数据库:

mysql -u root -p 123456 YGGL < /home/fedora/YGGL.sql

mysqlimiport提供了LOAD DATA INFILE的功能:

mysqlimport -u root -p 123456 –low-priority –replace YGGL < /home/fedora/Salary.sql

日志是一种有效的方式保证了数据的安全,MySQL提供了二进制日志保证了数据的安全。不过在默认情况,MySQL并不会启用日志。启用日志的办法是my.cnf的[mysqld]巷下添加log-bin=/var/mysql/bin-log,然后重启MySQL服务器即可。

查看日志可以通过mysqlbinlog:

mysqlbinlog bin-log

保存日志,可以在MySQL内使用SQL语句:

FLUSH LOGS;

把数据库恢复到特定日志之下:

mysqlbinlog bin-log.aaa | mysql -u root -p 123456

使用SQL语句清除所有日志:

RESET MASTER;

清楚特定文件名的日志:

PURGE MASTER LOGS TO ‘/var/mysql/bin-log’;

删除特定日期的日志:

PURGE MASTER LOGS BEFORE ’2002-10-25′;

MySQL还可以使用phpMyAdmin和MySQL Workbench等图形化客户端备份和恢复数据库,而且更加直观。

该文章发布在 数据库,标签:, 。收藏该永久链接

发表评论

您的电子邮箱不会被公开。 标记为 * 的区域必须填写

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">