MySQL 数据库 命令行 导入导出
导出整个数据库中的所有数据
1、在linux命令行下输入:
1 mysqldump -u userName -p dabaseName > fileName.sql
fileName.sql最好加上路径名
导出数据库中的某个表的数据
1 mysqldump -u userName -p dabaseName tableName > fileName.sql
导出整个数据库中的所有的表结构
在linux命令行下输入:
1 mysqldump -u userName -p -d dabaseName > fileName.sql
注意:是加了-d
导出整个数据库中某个表的表结构
在linux命令行下输入:
1 mysqldump -u userName -p -d dabaseName tableName > fileName.sql
注意:是加了-d
导入mysql方法1
进入linux命令命令行下:
1 mysql -uroot -p 回车 输入密码 2 source fileName.sql 3 注意fileName.sql要有路径名,例如:source /home/user/data/fileName.sql
导入mysql方法2
进入linux命令命令行下:
1 mysql -uroot -p database < fileName.sql
注意fileName.sql要有路径名
实际操作中遇到的问题:
[root@localhost ~]# mysqldump -u ryder -p******* --all-databases> all.sql
报错1:
mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/data/mysql/mysql.sock' (2) when trying to connect
找到正确的套接字的路径:
[root@localhost ~]# netstat -ln | grep mysql
unix 2 [ ACC ] STREAM LISTENING 2447213870 /data/mysql/data/mysql.sock
再运行dump命令:
mysqldump --socket=/data/mysql/data/mysql.sock -u ryder -hlocalhost -p***** db_err_2017 >/data/mysql/da_err_2017.sql
报错2:
mysqldump执行时Got error: 1045: Access denied for user 'ryder'@'localhost' (using password: YES) when trying to connect
用户没有权限,改为root用户,或者为当前用户授权
mysqldump --socket=/data/mysql/data/mysql.sock -u root -hlocalhost -p***** db_err_2017 >/data/mysql/da_err_2017.sql
使用root账户成功。