mysql随手记

497 阅读1分钟

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
	导出存储过程以及自定义函数

摘自: mysqldump 深入浅出

MySql数据库备份与恢复