nbtlxx 发表于 2013-1-13 18:48:31

mysql 学习(一): 数据库的备份、定时备份方法

1. 数据库的备份
   1.1 命令:mysql\bin\mysqldump -u root -p root oa > oa.sql
   问题:
   a. 不要在mysql>下面操作,因为备份和mysql> 都是并列的程序,互不隶属
   b. 命令末尾不需要分号
      mysql\bin\mysqldump -u root -p oa > oa.sql
   c. 记住参数 -p 后面不需要密码
      执行命令时,系统会要求提供密码
      如果带上-p root, 反而报错
   d. 如果报错1049(记不清了) 系统提示:找不到指定数据库,可以到mysql>命令下 show databases; 查看是否有该数据库
   e.

1.2 备份所有数据库的命令
mysqldump -u root -p --single-transaction --all-databases > backup_sunday_1_PM.sql
注意:往往导出数据库很庞大*.sql,不要直接使用txt工具操作,容易导致系统短时间无响应;
       建议使用ultraedit进行操作

常见的命令调用方式:
shell> mysqldump db_name
shell> mysqldump ---database DB1
shell> mysqldump --all--database
如果没有指定任何表或使用了---database或--all--database

1.2.1 使用windows的任务计划和脚本程序进行定期备份,具体的系统路径根据需要调整
    backup_db.bat
@echo off
C:\MySQL\bin\mysqladmin -u root --password=123456 shutdown
C:\MySQL\bin\mysqldump --opt -u root --password=123456 bbs > D:\db_backup\bbs.sql
C:\MySQL\bin\mysqld-nt

将以上代码保存为backup_db.bat
然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨5点执行back_db.bat)
缺点:就是必须关闭数据库直到完成备份为止,这个过程可能会有数据访问的请求。
页: [1]
查看完整版本: mysql 学习(一): 数据库的备份、定时备份方法