mysql 中表保存为文件方式,很容易备份,若要保持备份的一致性,对相关表执行lock table (锁表)操作,然后对表执行flush tables .你只需要读锁定;这样当你复制数据库目录中的文件时,允许其它客户继续查询表。需要FLUSH TABLES语句来确保开始备份前将所有激活的索引页写入硬盘。如果你想要进行SQL级别的表备份,你可以使用SELECT INTO ...OUTFILE或BACKUP TABLE。对于SELECT INTO ...OUTFILE, 输出的文件不能先存在。对于BACKUP TABLE也如此,因为覆盖完整的文件会有安全风险。
逻辑备份:是利用SQL语言从数据库中抽取数据并存于二进制文件的过程即可以理解为使用sql命令以相关文本文件进行数据保存。
物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归档模式下(业务数据库在非归档模式下运行),且需要极大的外部存储设备,。冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。
有二种逻辑备份方式:一、生成insert 语句进行备份(一般使用msyqldump工具进行) 二、生成特定格式的纯文本备份数据文件
mysqldump
mysqldump options db_name[table_name]//备份单个数据库
mysqldump
选项 --database database-name1 [databases-name2]....//备份指定的数据库一个或者多个
mysqldump 选项 --all-database //备份所有的数据库
链接选项:
-u :指定用户名
-p:指定密码
-h:指定服务器ip或者域名
-P(大写):指定端口
eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt