导入 MySQL 数据库
方法 1: 使用 mysql 命令导入数据库
执行命令:
/usr/local/mysql/bin/mysql -u 用户名 -p 数据库名 < 文件名. sql
注意, 导入的数据库名必须存在, 如果不存在的话先要手动创建数据库或者将创建数据库的代码写在 sql 文件里.
例如, 以下命令就是将 sql 文件 /home/mydb.sql 导入到数据库 mydb 中.
/usr/local/mysql/bin/mysql -uroot -p mydb < /home/mydb.sql
使用 mysql 命令可以导入非常大的数据库文件, 成功率也非常高, 推荐使用该方法.
方法 2: 使用 phpmyadmin 或者其他第三方工具导入数据库
phpmyadmin 是一款 php 版 MySQL 数据库 web 管理工具, 你直接可以把 phpmyadmin 搭建在服务器上, 在线管理 MySQL. 使用 phpmyadmin 导入数据的时候要注意所上传的文件大小不能超过 php 环境配置的最大上传大小. 此外从安全角度考虑, 我不建议大家在生产服务器上部署搭建 phpmyadmin.
如果是本地管理数据库可以使用 phpmyadmin, 还有一款桌面管理软件: navicat, 也非常实用.
导出 MySQL 数据库
方法 1:mysqldump 命令
执行命令:
/usr/local/mysql/bin/mysqldump -u 用户名 -p 数据库名 > 文件名. sql
执行后会提示输入密码, 如果数据库用户名没有密码, 就将命令中的 "-p" 参数删除. 导出的文件保存在当前目录下, 也可以将 文件名. sql 换成绝对路径, 如 /home/backup/abc.sql
另外, 如果将数据库名换成 --all-databases , 则会将全部数据库都导出.
方法 2: 使用 phpmyadmin 或者第三方工具导出数据库
phpmyadmin 导出和导入一样, 选择数据库, 进到 "导出" 标签下, 点击 "执行" 即可导出 sql 文件. 如果数据量非常大, 我不建议使用 phpmyadmin 导出数据, 有可能会导致超时, 并且它要是部署在服务器上真的不安全. 另外作为本地开发我们也可以使用 navicat 来快速导入数据.
自动备份 MySQL 数据库
自动备份其实就是定时执行数据导出的操作. 所谓天有不测风云, 我们辛苦经营的网站数据哪天弄丢了的话结果是非常尴尬的. 所以我们应该定时或者不定时的备份数据库, 视网站项目情况, 可以每隔几分钟, 几小时, 1 天会几天备份一次数据库.
我们来写一段脚本:
- #!/bin/bash
- day1=`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.sql
- if [ -f $db3 ]; then
- rm -f $db3
- fi
- /usr/local/mariadb/bin/mysqldump -uroot -pxxxxxx mydb> $db1
以上脚本的意思是执行导出数据库, 导出的文件名按日期格式命名, 如果发现 sql 文件名是 3 天前的, 则删除该文件, 即删除 3 天前的备份文件, 这样也可以节省空间.
然后保存文件名为 mysqlback.sh, 并设置为可执行权限:
chmod +x mysqlback.sh
最后我们使用 crontab 来定时执行脚本.
1 0 * * */bin/sh /home/cron/backupmysql.sh>> /dev/null 2>&1
很显然, 我设置了每天凌晨 00:01 执行定时备份任务, 这样我们就可以回去睡觉了, 不用人工干预备份过程.
最后, 我想提醒的是, 以上的自动备份确实省心, 但是我们发现, 备份后的数据库文件还是在服务器上, 并没有拿在手上或者存储在别的放心的地方, 这样我们还是不能睡个安稳觉. 当然, 你可以按照本站文章: Mysql/MariaDB 配置主从复制备份 https://www.helloweba.net/server/534.html 或 Mysql/MySQL/MariaDB 主主数据同步配置 https://www.helloweba.net/server/543.html 中配置数据库同步来解决数据库安全备份的问题, 但是如果是大量的网站文件呢, 怎么办呢, 我接下来会给大家介绍配置服务器文件同步机制来将数据文件同步到另外一台机器上, 让你高枕无忧, 节约时间去撩妹.
来源: http://www.tuicool.com/articles/zYnEj23