• linux+windows mysql导入导出sql文件


    linux下

    一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
    1、导出数据和表结构:
    mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
    #/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql
    敲回车后会提示输入密码

    mysqldump还有一个参数,就是--where 指定条件,这样我们就可以对一张表里的某些符合条件的数据,进行备份,导出.sql文件了

    mysqldump -u root -p 数据库名 --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE --where="id>1000" 表名 > 导出文件名.sql;

    2、只导出表结构
    mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
    #/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql

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


    二、导入数据库
    1、首先建空数据库
    mysql>create database abc;

    2、导入数据库
    方法一:
    (1)选择数据库
    mysql>use abc;
    (2)设置数据库编码
    mysql>set names utf8;
    (3)导入数据(注意sql文件的路径)
    mysql>source /home/abc/abc.sql;
    方法二:
    mysql -u用户名 -p密码 数据库名 < 数据库名.sql
    #mysql -uabc_f -p abc < abc.sql

    window下

    1.导出整个数据库
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    mysqldump -u dbuser -p dbname > dbname.sql

    2.导出一个表
    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    mysqldump -u dbuser -p dbname users> dbname_users.sql

    3.导出一个数据库结构
    mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
    -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

    4.导入数据库

    mysql -u dbuser -p dbname < dbname.sql

    mysql -u dbuser -p dbname users < dbname_users.sql


    常用source 命令
    进入mysql数据库控制台,如
    mysql -u root -p
    mysql>use 数据库
    然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
    mysql>source d:/dbname.sql

    有的时候需要把在一张表中用 select 语句查询出来的结果保存到另一张结构相同的表中,可以有几种方法来实现:

    在命令行下使用一对SQL语句完成该操作:

    导出查询结果:Select 语句 into outfile '保存路径+文件名';

    导入查询结果:load data local infile '保存路径+文件名' into table 表明 character set utf8;

    这里导出有可能会报错,本人一踩坑并填满了。。。

     1,导入文件乱码问题

      可以用查询列 CONVERT转换

      如:select xxx,CONVERT ((`value`) USING gbk) as xx , xx into outfile '保存路径+文件名' from table

    2,报如下错误

    Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

    这个是限制了导入导出目录,或者禁止了导入导出。

    mysql中执行一下下边语句,查看 secure-file-priv 

    show variables like '%secure%'
    

    secure_file_prive=null  -- 限制mysqld 不允许导入导出

    secure_file_priv=/tmp/  -- 限制mysqld的导入导出只能发生在/tmp/目录下

    secure_file_priv=' '      --不对mysqld 的导入 导出做限制

    根据自己需要修改配置文件即可

  • 相关阅读:
    通过python来获取网页状态
    php多域名跳转nginx
    mybatis-plus主键策略
    mybatis-plus ActiveRecord模式
    mybatis-plus-Cud操作
    mybatis-plus高级操作
    mybatis-plus入门
    ☕【Java技术指南】「序列化系列」深入挖掘FST快速序列化压缩内存的利器的特性和原理
    虚拟机研究系列-「GC本质底层机制」SafePoint的深入分析和底层原理探究指南
    👊 Spring技术原理系列(7)带你看看那些可能你还不知道的Spring特性技巧哦!
  • 原文地址:https://www.cnblogs.com/chancy/p/7228277.html
Copyright © 2020-2023  润新知