- 1 MySQL 简介
- MySQL 版本和产品线说明
- MySQL 安装
- 2 MySQL 基础教程
- 2.1 SQL 语法:SELECT/INSERT/UPDATE/DELETE
- 2.2 MySQL 列类型
- 2.3 使用用户变量
- 2.4 MySQL 的日期和时间管理
- 2.5 集合运算
- 3 MySQL 高级教程
- 3.1 触发器
- 3.2 视图
- 3.3 复制 Replication~主从库配置
- 3.4 分区存储
- 本章参考
- 4 MySQL 优化
- 4.1 优化数据库结构
- 4.2 优化 SQL 语句
- 4.3 优化索引
- 4.4 优化数据库服务器 mysql_serverd
- 4.5 修改配置文件 my.cnf/my.ini
- 5 MySQL 管理
- 5.1 MySQL 管理常用命令
- 5.2 MySQL 权限管理
- 5.3 MySQL 备份和恢复
- 5.4 MySQL 数据库安全
- 常见问题 FAQ
- 使用的常见问题
- MySQL 字符集乱码
- MySQL 存储二进制图片
- 参考资料
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5.3 MySQL 备份和恢复
5.3.1 MySQL 备份
备份一个数据库的另一个方法是使用 mysqldump 程序:
- 为你的数据库做一个完整的备份:
shell> mysqldump --tab=/path/to/some/dir --opt –full
或shell> mysqldump samp_db >/usr/archives/mysql/samp_db.1999-10-02
--tab
保存了数据库路径,用于同一台机器或完全相同配置环境的机器。- 则是将指定数据库安全备份,可用到不同机器配置中,[推荐]
你也可以简单地拷贝所有的表文件 ( .frm
、 *.MYD
和 *.MYI
文件),只要服务器不在更新任何东西。这两种方法各有优劣,mysqldump 与数据库服务协作,安全备份但备份速度较慢.直接 copy 数据库目录,简单快速但可能备份不完整(对当前数据库操作会遗失数据).
- 停止 mysqld 如果它正在运行,然后以--log-update 选项启动它。你将得到一个名为
hostname.n
形式的日志文件, 这里 n 是随着你每次执行mysqladmin refresh
或mysqladmin flush-logs
、FLUSH LOGS 语句、或重启服务器而递增的一个数字。这些日志文件向你提供了在你执行 mysqldump 处后面进行的复制数据库改变的所需信息。
此外,要形成备份日志脚本,要系统自动进行常规备份和渐进式备份.
压缩备份:
shell> mysqldump samp_db |tar zxvf >/usr/archives/mysql/samp_db.1999-10-02.tar.gz
导入导出参数 :
-default-character-set=latin1 # 原数据库的字符编码
--set-charset=gbk # 要导出的数据库文件的编码,phpmyadin 导出缺省是 utf-8。
--where # 导出 WHERE 语句,如导出一万行为`1 limit 10000`
5.3.2 MySQL 恢复
根据备份的两种方法,选择对应的措施.
- 如果你用直接从数据库拷贝来的文件,将它们直接拷回数据库目录,然而,此时你需要在拷贝文件之前关闭数据库,然后重启它。
- 如果你用 mysqldump 产生的文件,将它作为 mysql 的输入。
指定 --one-database
选项使得 mysql 只执行你有兴趣恢复的数据库的查询。
shell> mysql --one-database db_name < update.392
数据库恢复:
shell> mysql -u[user] -p [dbname] < [xxx.sql]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论