架构师

您现在的位置是:首页 > 技术博客 > 开发环境

开发环境

Java开发环境系列:通过命令备份MySQL表结构和数据

架构师小跟班 2019-07-29 开发环境
有人会说,明明可以使用navicat一键导出脚本,为什么还要这么麻烦呢?呵呵,太天真!比如某些政府项目,服务器权限给你限制的死死地,各种VPN、跳板机、端口屏蔽、防火墙让你一身本领无从下手。能让你远程敲命令就不错了。

有人会说,明明可以使用navicat一键导出脚本,为什么还要这么麻烦呢?呵呵,太天真!比如某些政府项目,服务器权限给你限制的死死地,各种VPN、跳板机、端口屏蔽、防火墙让你一身本领无从下手。能让你远程敲命令就不错了。


命令行下具体用法

mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名;

导出整个数据库结构和数据

mysqldump -h localhost -uroot -p123456 database > dump.sql

导出单个数据表结构和数据

mysqldump -h localhost -uroot -p123456 database table > dump.sql

导出整个数据库结构(不包含数据)

mysqldump -h localhost -uroot -p123456 -d database > dump.sql

导出单个数据表结构(不包含数据)

mysqldump -h localhost -uroot -p123456 -d database table > dump.sql

 

如果提示报错:找不到mysqld.sock

root@menjin:/data/wwwroot# mysqldump -h localhost -uroot -pdev -d f3db > dump.sql

mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")" when trying to connect

root@menjin:/data/wwwroot# mysql -u root -p

Enter password:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")

 

解决办法:

1、看下mysql.sock在什么位置

root@menjin:/data/wwwroot# find / -name mysql.sock

/opt/lampp/var/mysql/mysql.sock

 

2、命令后加参数,指定mysql.sock的位置

root@menjin:/data/wwwroot# mysqldump -h localhost -uroot -pdev -d f3db > dump.sql -S /opt/lampp/var/mysql/mysql.sock

 

文章评论