linux命令模式下利用ssh 使用命令导出导入 MySQL 数据库

技术分享2字数 1211阅读模式

作为一次记录,大家可能都会遇到,当然作为站长来说网站的备份与还原操作是必须熟练的。MySQL 数据库的导出和导入操作是必不可少的,对于一般的用户,可能使用的比较多的是 phpMyAdmin 这样的可视化操作界面,但是这种界面操作在数据库比较大的情况下,经常出错。

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

导出数据库

导出数据库为 out.sql 文件:

1.mysql -h localhost -ucaopeng -p12345 caopeng(这个命令的意思是进入数据库的命令模式)
2.mysqldump -h localhost -ucaopeng(数据库用户名) -p12345(数据库密码) caopeng(数据库名) > out.sql(然后执行数据库导出命令,不过一般就直接复制这行命令就可以了!)

第2句命令直接复制就可以了,会自动进入到数据库模式进行导入!请注意根据自己的实际情况,修改上面的“数据库用户名”、“数据库密码”、“数据库名”为具体的值,一般来说,“数据库用户名”使用最高权限的 root,数据库密码应该为 root 用户的密码,都可以搞定,但是我这里是新建的用户名和密码,大家根据自己的需求!

导入数据库

数据库文件为 out.sql,然后导入到数据库:

1.mysql -h localhost -ucaopeng -p12345 caopeng(这个命令的意思是进入数据库的命令模式)
2.source out.sql

先执行1,然后执行2,回车就 可以了。可以看看截图!linux命令模式下利用ssh 使用命令导出导入 MySQL 数据库

接着看图linux命令模式下利用ssh 使用命令导出导入 MySQL 数据库

导入成功之后,按住ctrl+c就会推出数据库模式回到你的服务器根目录或者你之前的某个目录。到这里就讲完了导入导出的命令讲解,记录于此帮助有需要的人!

备注LNMP下可能会遇到mysql 错误 server has gone away,顺带说一下解决的方法

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

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

vi /etc/my.cnf

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

wait_timeout=2880000
interactive_timeout = 2880000

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

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

max_allowed_packet = 100M

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

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

linux命令模式下利用ssh 使用命令导出导入 MySQL 数据库

4、重启 mysql 服务即可

差不多能遇到的问题都解决了!希望大鸟的这篇文章对你有所帮助!

weinxin
我的微信
微信公众号
关注大鸟博客公众号
 最后更新:2019-1-19
大鸟
评论  2  访客  2
    • dadaniao
      dadaniao 0

      这方法挺管用,感谢大鸟!

      • 我爱大鸟
        我爱大鸟 0

        这个教程就很好,解决了我的问题,顺便装下b也不错。

      匿名

      发表评论

      匿名网友

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

      确定