紫悦博客

不进则退,退一步万丈悬崖!

0%

linux下导入、导出mysql数据库命令

导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径)

导出数据和表结构

1
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
1
/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql

敲回车后会提示输入密码

只导出表结构

1
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
1
/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/ —> mysql的data目录

在执行mysql命令的过程中,有时候会碰到如下的错误:

1
2
shell> mysqldump -uroot -p123456 -d jact > jact.sql
mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/usr/local/mysql/var/mysql.sock' (2) when trying to connect

说明我们使用的连接mysql的unix套接字错误。

要找出套接字的地点,应:

1
2
shell> netstat -ln | grep mysql
unix  2      [ ACC ]     STREAM     LISTENING     7414  /var/lib/mysql/mysql.sock

然后敲入如下命令:

1
shell> mysqldump --socket=/var/lib/mysql/mysql.sock -uroot -p123456 -d jact > jact.sql

乱码问题:

1
mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql
1
mysql -uroot -p --default-character-set=utf8 dbname < bak.sql

导入数据库

首先建空数据库

1
mysql>create database abc;

导入数据库

方法一

(1)选择数据库

1
mysql>use abc;

(2)设置数据库编码

1
mysql>set names utf8;

(3)导入数据(注意sql文件的路径)

1
mysql>source /home/abc/abc.sql;

方法二

1
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
1
mysql -uabc_f -p abc < abc.sql

建议使用第二种方法导入。

注意:有命令行模式,有sql命令