导入导出MySQL数据库和自动备份MySQL数据库

经常与MySQL打交道,难免要进行数据库的导入和导出操作,平时你是使用命令操作还是使用工具操作呢?以及数据库自动备份与恢复等容灾措施你都做了吗?本文将简要给大家讲解。

导入MySQL数据库

方法1:使用mysql命令导入数据库

执行命令:

SQL
/usr/local/mysql/bin/mysql -u 用户名 -p 数据库名 < 文件名.sql

注意,导入的数据库名必须存在,如果不存在的话先要手动创建数据库或者将创建数据库的代码写在sql文件里。

例如,以下命令就是将sql文件/home/rcloud.sql导入到数据库rcloud中。

SQL
/usr/local/mysql/bin/mysql -uroot -p rcloud < /home/rcloud.sql

使用mysql命令可以导入非常大的数据库文件,成功率也非常高,推荐使用该方法。

方法2:使用phpmyadmin或者其他第三方工具导入数据库

phpmyadmin是一款php版MySQL数据库WEB管理工具,你直接可以把phpmyadmin搭建在服务器上,在线管理MySQL。使用phpmyadmin导入数据的时候要注意所上传的文件大小不能超过php环境配置的最大上传大小。此外从安全角度考虑,我不建议大家在生产服务器上部署搭建phpmyadmin。

如果是本地管理数据库可以使用phpmyadmin,还有一款桌面管理软件:navicat,也非常实用。

导出MySQL数据库

方法1:mysqldump命令

执行命令:

SQL
/usr/local/mysql/bin/mysqldump -u 用户名 -p 数据库名 > 文件名.sql

执行后会提示输入密码,如果数据库用户名没有密码,就将命令中的“-p”参数删除。导出的文件保存在当前目录下,也可以将 文件名.sql 换成绝对路径,如 /home/backup/abc.sql

另外,如果将数据库名换成–all-databases,则会将全部数据库都导出。

方法2:使用phpmyadmin或者第三方工具导出数据库

phpmyadmin导出和导入一样,选择数据库,进到“导出”标签下,点击“执行”即可导出sql文件。如果数据量非常大,我不建议使用phpmyadmin导出数据,有可能会导致超时,并且它要是部署在服务器上真的不安全。另外作为本地开发我们也可以使用navicat来快速导入数据。

201901111547191658892757

自动备份MySQL数据库

自动备份其实就是定时执行数据导出的操作。所谓天有不测风云,我们辛苦经营的网站数据哪天弄丢了的话结果是非常尴尬的。所以我们应该定时或者不定时的备份数据库,视网站项目情况,可以每隔几分钟、几小时、1天会几天备份一次数据库。

脚本:

SQL
#!/bin/bashday1=`date -d '-1 days' +%Y%m%d`
day3=`date -d '-3 days' +%Y%m%d`
db1=/home/backup/db-$day1.sql
db3=/home/backup/db-$day3.sqlif [ -f $db3 ]; then
rm -f $db3fi/usr/local/mariadb/bin/mysqldump -uroot -pxxxxxx mydb > $db1

以上脚本的意思是执行导出数据库,导出的文件名按日期格式命名,如果发现sql文件名是3天前的,则删除该文件,即删除3天前的备份文件,这样也可以节省空间。

然后保存文件名为mysqlback.sh,并设置为可执行权限:

SQL
chmod +x mysqlback.sh

最后我们使用crontab来定时执行脚本。

PHP
1 0 * * * /bin/sh /home/cron/backupmysql.sh >> /dev/null 2>&1
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:小林博客 www.vvso.cn小林博客 » 导入导出MySQL数据库和自动备份MySQL数据库
分享到: 更多 (0)

评论 抢沙发

切换注册

登录

忘记密码 ?

切换登录

注册