LNMP 下使用命令导出导入 MySQL 数据库

༺小ʚɞ寞༻ Wiki评论18,3161字数 961阅读3分12秒阅读模式

作为站点或服务器运维人员,网站的备份与还原操作是必须熟练的。MySQL 数据库的导出和导入操作是必不可少的,对于一般的用户,可能使用的比较多的是 phpMyAdmin 这样的可视化操作界面,但是这种界面操作在数据库比较大的情况下,经常出错。

如果你对Linux下的命令比较熟悉,并且自己使用的是 vps 或云服务器的话,可以使用 MySQL 相关命令来导出和导入数据库,非常方便高效!

导出数据库

导出数据库为 db_wp.sql.gz 文件:

  1. mysqldump -u数据库用户名  -p数据库密码 --add-drop-table --complete-insert 数据库名 | gzip > db_wp.sql.gz

请注意根据自己的实际情况,修改上面的“数据库用户名”、“数据库密码”、“数据库名”为具体的值,一般来说,“数据库用户名”应该使用最高权限的 root,数据库密码应该为 root 用户的密码

导入数据库

因为我们刚才导出的数据库是 gz 压缩的,所以导入前我们需要解压:

  1. gzip -d db_wp.sql.gz

解压出来的文件为 db_wp.sql,然后导入到数据库:

  1. mysql -u数据库用户名 -p数据库密码 数据库名 < db_wp.sql --default-character-set=utf8

mysql 错误 server has gone away

在操作过程中,可能会出现 mysql server has gone away 的错误,这是数据库太大,缓存不够或操作超时导致的,可以修改下 mysql 的配置来解决:

1、打开配置文件(这里演示的是军哥的 lnmp 下的配置文件,如果你的路径不是这个,自己找到)

  1. vi /etc/my.cnf

2、找到 wait_timeout、interactive_timeout 两个变量,设置值为

  1. wait_timeout=2880000
  2. interactive_timeout = 2880000

如果没有这两个参数,直接添加即可

3、再找到max_allowed_packet,增加这个变量的值,比如 100M (也可以设置自己需要的大小)

  1. max_allowed_packet = 100M

max_allowed_packet 参数的作用是,用来控制其通信缓冲区的最大长度。

当然,其他参数可以根据自己的需要调整:

LNMP 下使用命令导出导入 MySQL 数据库

4、重启 mysql 服务即可

weinxin
LuckTang's Blog 站长语录
LuckTang's Blog,欢迎各位来访!这是我的QQ,扫一扫,加好友。大家一起交流博客建站技术,分享前沿资讯!
Wiki最后更新:2018-1-13
lftp小记 Wiki

lftp小记

这几天mutt闹脾气,数据库备份文件无法发送到邮箱,只能换个办法,于是就打算用lftp上传到别的空间进行备份。 lftp的使用也挺简单的。我用的debian apt-get install lftp ...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定