01-linux下 用命令导出和导入.sql文件

一、从Linux中,用命令导出数据库为.sql文件:

1、先进入到mysql的运行目录下

     (1)可查询数据库位置:find / -name mysql -print

     (2)再进到bin目录下:cd /usr/local/mysql/bin

2.1、导出数据和表结构:

mysqldump -u用户名 -p 数据库名 > 数据库名.sql

mysqldump -uroot -p phantyun > phantyun.sql (文件默认生成在bin目录下)

敲回车后会提示输入密码即可

2.2、只导出表结构

mysqldump -u用户名 -p -d 数据库名 > 数据库名.sql

mysqldump -uroot -p -d phantyun > phantyun.sql

3、有时候我们需要导出MySQL数据库中某个表的部分数据,这时该怎么办呢?

mysqldump命令中带有一个 --where/-w 参数,它用来设定数据导出的条件,使用方式和SQL查询命令中中的where基本上相同,有了它,我们就可以从数据库中导出你需要的那部分数据了。

命令格式如下:

mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径

例子:

从meteo数据库的sdata表中导出sensorid=11 且 fieldid=0的数据到 /home/xyx/Temp.sql 这个文件中

mysqldump -uroot -p123456 meteo sdata --where=" sensorid=11 and fieldid=0" > /home/xyx/Temp.sql

另外你还可以直接导出 文本文件*.txt

mysqldump -uroot -p123456 meteo sdata --where=" sensorid=11 and fieldid=0" > /home/xyx/Temp.txt

      1.导出结构

         mysqldump -d 数据库名 -uroot -p > xxx.sql

      2.导出数据

         mysqldump -t 数据库名 -uroot -p > xxx.sql

      3.导出数据和表结构

         mysqldump 数据库名 -uroot -p > xxx.sql

      4.导出特定表的数据和结构

         mysqldump -uroot -p  数据库名  表名 > xxx.sql

      4.导出特定表的结构

         mysqldump -d -uroot -p  数据库名  表名 > xxx.sql


导入数据库

1)登录

mysql -uroot -p

(2)创建数据库,最好跟你要导入的数据库重名

create database xx;

(3)切换到你创建的数据库下

use 数据库名称;

(4)导入数据库

source /home/newdb.sql;

注:home/newdb.sql是路径+数据库sql文件

2、第二种数据库导入方式

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


遇到的问题及解决方案

问题一:如图:将/etc/my.cnf的client的character-set-server=utf-8 注释掉;重启mysql

解决方案:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容