快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

MySQL导出所有数据库命令和脚本 – 古博

请联系QQ:1793040 索取软件

从2016年4月29日开始,用了3年多的Hostigation的VPS发生磁盘错误,而在3年前部署的脚本因为Rsync发生问题,导致备份的数据一直停留在2014年,这导致上面的网站到今天(2016年5月5日)仍未重新上线。在重新审查备份流程和数据的过程中总结了一些MySQL数据库的小经验,写下来以备日后查阅或供大家使用。

最近的文章一直在写VPS的推荐,博客都快成VPS推荐站点了。不过买了香港沙田CN2之后,速度比较满意,VPS方面的折腾应该告一段落了,还是回归技术方面的东西。

本站已经创建VPS交流群Telegram群,欢迎各位加入:Telegram群 查看二维码

这个是直接使用mysqldump命令导出MySQL所有数据库的命令,包括MySQL本身的一些库,例如用户等信息也一并导出。
优点:备份完整,用户名和密码也一并备份
缺点:导入之后可能会改动原有的数据库用户信息(覆盖/重复/修改密码)

#备份数据库
mysqldump-u用户名-p密码--lock-all-tables--all-databases > all.sql
#导入数据库
mysql-u用户名-p密码 

想要导出所有数据表,一般来说是需要root权限的,具体的信息可以在~/.my.cnf下找到。

这个脚本来自于stackoverflow,将网站数据库分别导出到各自的文件。
优点:不影响MySQL本身的信息,不会改动原有数据库的用户名和密码
缺点:导入之后需要手动建立用户名并赋予权限,需重新修改网站配置文件

#!/bin/bash

USER="用户名"
PASSWORD="密码"


databases=`mysql-u $USER-p$PASSWORD-e "SHOW DATABASES;" | tr-d "| " | grep-v Database`

for db in $databases; do
    if [[ "$db" !="information_schema" ]] && [[ "$db" !="performance_schema" ]] && [[ "$db" !="mysql" ]] && [[ "$db" !=_* ]] ; then
        echo "Dumping database: $db"
        mysqldump-u $USER-p$PASSWORD--databases $db > `date +%Y%m%d`.$db.sql
       # gzip $OUTPUT/`date +%Y%m%d`.$db.sql
    fi
done

想要导出所有数据表,一般来说是需要root权限的,具体的信息可以在~/.my.cnf下找到。

参考链接:MySQL Dump All Databases and Create (or Recreate) them on Import

mysql-BNe "select concat('\'',user,'\'@\'',host,'\'') from mysql.user where user !='root'" | \
while read uh; do mysql-BNe "show grants for $uh" | sed 's/$/;/; s/\\\/\/g'; done > grants.sql

参考链接:http://stackoverflow.com/questions/597732/backup-mysql-users

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040