数据库导入导出的几种方式

一、导入数据库数据:
1)创建数据库create database dbname
方案一:
a)选择数据库
mysql>use dbname ;
b)设置数据库编码
mysql>set names utf8;
c)导入数据(注意sql文件的路径)
mysql>source /home/xxxx/dbname .sql;(有命令结束标志)
方案二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql (无命令结束标志)

方案三:采用复制命令(推荐使用:快速)
如遇到大量数据如百万、千万条数据时用方案一、二会非常慢,此时可以用这种复制的形式,非常的快速!

a)复制到本地

mysqldump -h ‘114.212.111.123’ -P3306 -uTHATUSER -pTHATPWD --opt
–compress THATDB --skip-lock-tables | mysql -h localhost -uMYUSER -pMYPWD MYDB

b)本地复制到服务器

mysqldump -h localhost -P3306 -uroot -ptemp --opt --compress syyfa
–skip-lock-tables | mysql -h 223.115.1.171 -P3396 -uroot -pAhyd12ew syyfa

注意:Mysql高版本复制,如Mysql8.0版本(ip地址不能加引号,需要加column设置)

mysqldump --column-statistics=0 -h 123.105.1.14 -P3306 -uroot
-pttyd1234 --opt --compress syzw --skip-lock-tables | mysql -h localhost -uroot -p12333 syzw

C)复制命令参数说明
114.212.111.123 远程服务器名称
THATUSER 远程数据库登录名
THATPWD 远程数据库登录密码
THATDB远程数据库名(即:复制的源)
localhost 本地数据库名称
MYUSER 本地数据库登录名
MYUSER 本地数据库登录密码
MYDB 本地(即:复制的目的)
sql解释:
mysqldump 是mysql的一个专门用于拷贝操作的命令
–opt 操作的意思
–compress 压缩要传输的数据
–skip-lock 忽略锁住的表(加上这句能防止当表有外键时的报错)
-tables 某数据库所有表
-h 服务器名称
-u 用户名(*后面无空格,直接加用户名)
-p 密码(*后面无空格,直接加密码,这是必须的)
注意: -u、-p的后面没有空格,直接加用户名和密码!!!

二、导出数据库
1)导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
2)只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql

你可能感兴趣的:(数据库相关)