• Mysql导出导入相关操作记录


    一、使用source

    source sql脚本文件路径

    二、使用mysqldump

    命令行下具体用法如下:  mysqldump -u用户名 -p密码 -d 数据库名 表名 脚本名;

    1、导出数据库為dbname的表结构(其中用户名為root,密码為dbpasswd,生成的脚本名為db.sql)     mysqldump -uroot -pdbpasswd -d dbname >db.sql;

    2、导出数据库為dbname某张表(test)结构     mysqldump -uroot -pdbpasswd -d dbname test>db.sql;

    3、导出数据库為dbname所有表结构及表数据(不加-d)     mysqldump -uroot -pdbpasswd  dbname >db.sql;

    4、导出数据库為dbname某张表(test)结构及表数据(不加-d)     mysqldump -uroot -pdbpasswd dbname test>db.sql;

    注意事项:

    1、导出乱码问题,导出之前指定编码格式用 --default-character-set=utf8

    1,数据库备份命令 mysqldump -uroot -p --default-character-set=gbk dbname > /root/newsdata.sql

    mysqldump -uroot -p --default-character-set=utf8 dbname > /root/newsdata.sql

    2,导入数据库 mysql -uroot -p --default-character-set=gbk use dbname source /root/newsdata.sql

    mysql -uroot -p --default-character-set=utf8 use dbname source /root/newsdata.sql 若不能解决问题看下面: mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

    我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来 很多mysql数据库工具(除了phpmyadmin,我偶尔用,功能强速度慢)都不支持创建时指定数据库编码,当然可以改my.ini来解决这个问题,但是需要重新启动mysql,不过用下面的语句会更有效

    GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

    UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

    注意:如果不是通过my.ini配置文件设置的内容,只在当前状态下有效,当重启数据库服务后失效。所以如果想要不出现乱码只有修改my.ini文件,数据库编码可以在创建数据库时候指定UTF8,如下: |character_set_client      | utf8                                  | | character_set_connection | utf8                                  | | character_set_database   | utf8                                  | | character_set_filesystem | binary                                | | character_set_results    | utf8                                  | | character_set_server     | latin1                                | | character_set_system     | utf8          

    注意该配置| character_set_server     | latin1 无法设置成UTF8 交互时候仍然会出现乱码。

    只有当修改my.ini中设置UTF8,才会全部修改成UTF8

    ------------------------- mysql设置编码命令

    SET character_set_client = utf8; SET character_set_connection = utf8; SET character_set_database = utf8; SET character_set_results = utf8;/*这里要注意很有用*/ SET character_set_server = utf8;

    SET collation_connection = utf8_bin; SET collation_database = utf8_bin; SET collation_server = utf8_bin;

    my.ini中配置默认编码 default-character-set=utf8

    2、导出大数据库问题,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。为避免这个问题,需要加上--opt或--quick选项,这样将读一行写一行

  • 相关阅读:
    一.django初识
    解决Centos7下中文显示乱码
    宿主机ping不通虚拟机,虚拟机能ping通宿主机问题
    Win7查看某个端口被占用的解决方法
    改变securecrt背景色
    一.1搭建跨平台的统一python开发环境
    第二部分用户交互程序开发,通过paramiko记录ssh会话记录
    【VUE+Django】天坑》》 模板语法与VUE语法的冲突
    【vue_django】成功登录后,保存用户
    【Vue+django】 配合rest_framework的惊天大坑
  • 原文地址:https://www.cnblogs.com/Toeasy/p/3381864.html
Copyright © 2020-2023  润新知