mysql命令导入导出sql脚本
-
本地导入本地
-
创建好数据库,打开cmd,登录mysql,切换数据库,执行命令导入,source [sql文件路径]
C:\Users\ychen>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 86
Server version: 8.0.22 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mydb
Database changed
mysql> source C:\work\mydb.sql
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
// ......
- 本地导出到本地
mysqldump -hlocalhost -uroot -p [要导出的数据库名称]>[导出位置]
C:\Users\ychen>mysqldump -hlocalhost -uroot -p mydb>C:\work\mydb.sql
Enter password: ********
- ssh工具登录远程,导出到远程
# 导出所有到指定路径
[root@master ~]# mysqldump -uroot -p --host=127.0.0.1 --port=3306 --all-databases > /home/data/full.sql
Enter password:
# 导出指定数据库到指定路径
mysqldump -uroot -p --host=127.0.0.1 --port=3306 --databases db_test > /home/data/db_test.sql
# 只导出数据库表结构,不包含数据
mysqldump -uroot -p --host=127.0.0.1 --port=3306 --no-data --databases db_test > /home/data/db_structure.sql
# 只导出数据,不导出表结构
mysqldump -uroot -p --host=127.0.0.1 --port=3306 --no-create-info --databases db_test > /home/data/db_data.sql
# 导出db_test数据库中emp表、dept表的数据和结构
mysqldump -uroot -p --host=127.0.0.1 --port=3306 db_test --tables emp dept > /home/data/test.sql
- ssh工具登录远程,sql脚本上传到远程,导入远程mysql
[root@master data]# pwd
/home/data
[root@master data]# ls
db_test.sql
# mysql中db_test数据库必须已经存在
mysql -u root -p --host=127.0.0.1 --port=3306 db_test < /home/data/db_test.sql
# sql脚本文件中是否有建库语句,登录mysql后直接执行如下
mysql> source /home/data/db_test.sql
- 本地安装mysql,使用本地mysql.exe登录远程的mysql,本地导入远程,(导入速度较快,差不多3分30秒/50MB)
# 打开cmd,登录虚拟机上的mysql
C:\Users\ychen>mysql -h 192.168.128.78 -P 3306 -u root -p
Enter password: ******
mysql> source C:\work\db_test.sql