mysqldump
最近用到数据库的导入导出, 这里记一下笔记.
mysqldump 是用于转存储 mysql 数据库的实用程序。
该命令行工具会产生一个 .sql 脚本,其中包含从头重新创建数据库/创建数据表/填充数据的所有命令。
快速使用 (一般这个就够了)
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
# game 是库名
# 完整导出一个库
# 包括建库语句、表结构、数据
mysqldump -uroot -proot --host=127.0.0.1 --port=3306 --databases game > test.sql
# 只导出表结构
mysqldump -uroot -proot --host=127.0.0.1 --port=3306 -d game > test.sql
# 只导出数据
mysqldump -uroot -proot --host=127.0.0.1 --port=3306 -t game > test.sql
# 导出一个数据库中多个表的数据和结构
mysqldump -uroot -proot --host=127.0.0.1 game --tables articles users > test.sql
mysqldump -uroot -proot --host=127.0.0.1 game articles users > test.sql
# 恢复导出数据
mysql -u username -proot databse < backup.sql
参数解析
--user=user_name, -u user_name
连接数据库的用户名。
--password=password, -p[password]
连接数据库的密码,如果使用 -p 缩写,和密码之间不能有空格。
--opt or --compact
使用 --opt 等于使用这些参数 --add-drop-table, --add-locks, --create-options, --disable-keys, --extended-insert, --lock-tables, --quick, and --set-charset,默认情况下即使不加 --opt 参数也是开启的。
使用 --compact 等于使用这些参数 --skip-add-drop-table, --skip-add-locks, --skip-comments, --skip-disable-keys, and --skip-set-charset,默认不开启。
--databases, -B
指定导出的库名。后面接多个数据库名
--all-databases -A
表示导出所有的库。
--tables
会覆盖 --databases or -B 选项,指定导出某个表就会忽略库选项。
--no-data, -d
不导出数据,只导出表结构。(Do not dump table contents)
--no-create-info, -t
只导出数据,不导出表结构,不添加 CREATE TABLE 语句。
--no-create-db, -n
不添加 CREATE DATABASE 建库语句。
--routines, -R
导出存储过程以及自定义函数