用mysqldump导出所有mysql库的bash脚本

林继 VPS 知识 2,467 共写了989个字 (2012-06-17 7:21:54) 没有评论 打印 扫描二维码 百度已收录

在给网站搬迁主机的时候,经常有若干个甚至数十数百的MySQL库需要迁移,用直接复制的方式并不能保证数据库的状态一定完好,相比之下用mysqldump可以更可靠的保证数据的完整性与可靠性。

这个脚本只需简单的输入mysql的root账户信息,指定mysql数据所在的目录以及你想要备份到的目录,即可实现一次性导出所有库。

  1. #!/bin/sh
  2. echo for more information please visit http://fullpanel.net
  3. echo this will dump all the mysql databases into .sql files
  4. echo input the the database dir \(for example /var/lib/mysql     /usr/local/mysql/var\):
  5. read databasedir
  6. cd $databasedir
  7. ls -lh | grep -e "^d" | awk '{print $9}' > /tmp/mysql.txt
  8. echo where are you going to put the sql files:
  9. read outputdir
  10. echo input your root password
  11. read password
  12. cat /tmp/mysql.txt | while read iii
  13. do
  14. mysqldump -uroot -p$password $iii --lock-tables=false > $outputdir/$iii.sql
  15. done
  16. rm -rf /tmp/mysql.txt
  17. echo done!!

*说明
*使用方法,保存代码为mysqldump.sh,运行sh mysqldump.sh。
*根据脚本提示一次输入mysql数据文件所在目录,导出文件所在目录,root密码即可。
*centos默认情况下mysql数据目录为/var/lib/mysql , LNMP套件的mysql数据目录为/usr/local/mysql/var,具体位置请查询my.cnf

导入数据库
1.常用source 命令
2.进入mysql数据库控制台,
3.如mysql -u root -p
4.mysql>use 数据库
5.然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
6.mysql>source d:wcnc_db.sql

—————————————————  亲,这是分割线  —————————————————

MYSQLDUMP备份数据库和MYSQL还原数据库

MySql的备份可用命令mysqldump ,使用方法很简单,mysqldump -u 用户名 -p (密码) -h 主机名 数据库名 >路径/备份名.bak;同时也可以是用mysqldump到处数据结构(tablename.sql)和数据(tablename.txt) mysqldump -u 用户名 -p (密码) -h 主机名 数据库名 tablename1 tablename2 > back.sql或mysqldump -u 用户名 -p (密码) -h 主机名 数据库名 –tab 路径 –opt 数据库名.
EXA:

  1. mysqldump -u pivot -p pivot news > c:\news.sql

那么还原可以mysql命令,mysql -u 用户名 -p (密码) -h 主机名 –one-database 还原数据库名 < 路径/备份名.bak,--one-database是指定要恢复的数据库. EXA:

  1. mysql -u pivot -p pivot news < c:\news.sql

(括号表示密码不先输入,在连接时在Enter password;若密码为空可缺省-p参数)

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >