MySQL命令行导出导入数据库实例详解

作者:lqh 时间:2024-01-22 08:57:22 

一、window环境

A. 导出.sql

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

B. 导入.sql

常用source 命令

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

导入数据到数据库

mysql -uroot -D数据库名

导入数据到数据库中得某个表

mysql -uroot -D数据库名 表名

二、linux环境

A. 导出.sql

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

1、导出数据和表结构:

mysqldump -u 用户名 -p 参数(可选) 数据库名 >/home/sql/ 数据库名.sql

mysqldump -u root -p --default-character-set=utf8 db_name>/home/sql/fileName.sql

敲回车后会提示输入密码

2、只导出表结构

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

/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql

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

B. 导入.sql

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--default-character-set=utf8 abc < abc.sql

MySQL命令行导出数据库:

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 5.5\bin

(或者直接将windows的环境变量path中添加该目录)

 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

如我输入的命令行:mysqldump -u lmapp -p lmapp -P 3308 > lmapp.sql   (输入后会让你输入进入MySQL的密码)
(如果导出单张表的话在数据库名后面输入表名即可)

mysql导出数据库一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u lmapp -p lmapp users> test_users.sql (结尾没有分号)

3、会看到文件news.sql自动生成到bin文件下  

MySQL命令行导出导入数据库实例详解

 导出时,遇到上面的问题。

MySQL命令行导出导入数据库实例详解

解决措施:加个参数-P 3308(mysql服务端口)即可解决问题。

命令行导入数据库:

1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
2,同上面导出的第1步
3,进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p   (输入同样后会让你输入MySQL的密码)
4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
5,输入:mysql>use 目标数据库名
如我输入的命令行:mysql>use news;
6,导入文件:mysql>source 导入的文件名;

如我输入的命令行:mysql>source news.sql; 

MySQL命令行导出导入数据库实例详解

       注:由于导入数据库的规模、数据结构不同,导入所需时间会有较大差异。我导入的数据库有123M,花费将近5个小时。期间以为机器宕掉了,仔细观察命令行界面发现,导入是在正常进行的。导入成功后的界面如下:

      MySQL命令行导出导入数据库实例详解

 注:导入单张数据表时,使用类似use lmapp lm_area 、source lm_area.sql的sql语句。原数据表可存在,导入后的数据表会覆盖同名已存在的数据表。

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

1.Win32下MySQL的备份与还原

1.1 备份

开始菜单 | 运行 | cmd |利用&ldquo;cd \Program Files\MySQL\MySQL Server 5.0\bin&rdquo;命令进入bin文件夹 | 利用&ldquo;mysqldump  -u 用户名 -p databasename >exportfilename&rdquo;导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。

1.2 还原

进入MySQL Command Line Client,输入密码,进入到&ldquo;mysql>&rdquo;,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

2.Linux下MySQL的备份与还原

2.1 备份

[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可。

2.2 还原

法一:

[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。

法二:

[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

标签:MySQL,命令,数据库
0
投稿

猜你喜欢

  • Python实现获取视频时长功能

    2021-11-25 03:33:57
  • Git中tag标签的使用教程

    2022-06-26 08:15:00
  • Python定时任务APScheduler的实例实例详解

    2023-03-18 01:33:05
  • 解决Goland 提示 Unresolved reference 错误的问题

    2024-02-07 13:32:26
  • python爬虫爬取淘宝商品信息(selenum+phontomjs)

    2022-07-07 05:40:52
  • PyTorch 1.0 正式版已经发布了

    2021-12-09 23:54:57
  • pyqt5打包成exe可执行文件的方法

    2022-02-09 11:25:57
  • MySQL IFNULL判空问题解决方案

    2024-01-21 13:23:10
  • Python3常见函数range()用法详解

    2021-04-20 10:34:19
  • 如何表示python中的相对路径

    2022-09-06 14:13:41
  • python实现二分查找算法

    2023-04-04 12:34:40
  • 有效LOGO设计的最重要的提示

    2010-06-09 12:05:00
  • 如何在 Vue 表单中处理图片

    2024-05-02 16:10:08
  • 对python中数据集划分函数StratifiedShuffleSplit的使用详解

    2022-12-04 23:10:28
  • Python使用mmap实现内存映射文件操作

    2022-04-26 14:37:19
  • 解析SQLServer任意列之间的聚合

    2024-01-17 12:48:29
  • Java基础开发之JDBC操作数据库增删改查,分页查询实例详解

    2024-01-15 04:16:28
  • python同时替换多个字符串方法示例

    2021-11-25 00:37:54
  • Caffe图像数据转换成可运行leveldb lmdb文件

    2023-03-01 08:41:27
  • python使用socket实现图像传输功能

    2023-08-30 17:10:17
  • asp之家 网络编程 m.aspxhome.com