mysql的导入导出

avatar 2019年11月6日22:49:08 评论 806 次浏览

mysql的导入导出

1.导出结构不导出数据

mysqldump --opt -d 数据库名 -u root -p > xxx.sql

2.导出数据不导出结构

mysqldump -t 数据库名 -uroot -p > xxx.sql

3.导出数据和表结构

mysqldump 数据库名 -uroot -p > xxx.sql

4.导出特定表的结构

mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql

导入数据:由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

#mysql 数据库名 < 文件名 
#source /tmp/xxx.sql

查看表索引

show index from table_name;

查看客户端连接的ip

SELECT substring_index(host, ':',1) AS host_name,state,count(*) FROM information_schema.processlist GROUP BY state,host_name;

mysql的存储过程导入导出

表结构等已经在目标数据库中存在,不想拷贝数据库过去,MySQL的存储过程导出和导入,Mysqldump工具可以实现,具体用法为:

[root@localhost bin]# mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql

参数说明:

-n: --no-create-db
-d: --no-data
-t: --no-create-info
-R: --routines Dump stored routines (functions and procedures)

Mysqldump是客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建活装载表的SQL语句:

主要参数介绍:

1.连接选项

-u,--user=name
-p,--password=name
-h,--host=name
-P,--port=#

2.输出内容选项

--add-drop-database
--add-drop-table
-n;--no-create-db
-d;--no-data
-t;--no-create-info

3.输出格式选项

--compact
-c --complete-insert
-T(指定数据表中的数据备份为单纯的数据文件和建表SQL两个文件)

注意:xx.sql建表文件是以linux的root用户创建,而xx.txt文件则是一linux的mysql用户创建,因此这两个文件的存放路径一定要保证mysql用户有读写创建文件的权限。

--fields-terminated-by=name(域分隔符)
--fields-enclosed-by=name(域引用符)
--fields-optionally-enclosed-by=name(域引用可选字符)
--fields-escaped-by=name(转义字符)

4.字符集选项

--default--character-set=xx

5.其他选项

-F --flush-logs(备份前刷新日志)
-l --lock-tables(给所有的表加读锁)
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: