MySQL命令mysqldump使用
由于对于数据库维护有分工,线上归运维,内网归开发。所以这次涉及 MySQL 拷贝库的工作归自己,思路使用了 mysqldump 命令导出旧库文件为 /path/temp.sql,然后创建新库并通过
source 将 /path/temp.sql
导入,收工。将操作进行简单备注,方便备用。
操作
#导出数据库表结构 /usr/local/mysql/bin/mysqldump -uname -ppwd -d --triggers -t databasename > databasename_temp.sql #导出数据库存储过程和函数结构 /usr/local/mysql/bin/mysqldump -uname -ppwd -ntd -R databasename > databasename_temp.sql /usr/local/mysql/bin/mysqldump -uname -ppwd -d --triggers -R databasename > databasename_temp.sql #说明 -R, –routines: 导出存储过程以及自定义函数
mysqldump
使用简单说明
- Create a backup (user will be prompted for a password): mysqldump --user user --password database_name --result-file=path/to/file.sql - Backup a specific table redirecting the output to a file (user will be prompted for a password): mysqldump --user user --password database_name table_name > path/to/file.sql - Backup all databases redirecting the output to a file (user will be prompted for a password): mysqldump --user user --password --all-databases > path/to/file.sql - Backup all databases from a remote host, redirecting the output to a file (user will be prompted for a password): mysqldump --host={(ip_or_hostname)} --user user --password --all-databases > ({path/to/file.sql}} More information: https://dev.mysql.com/doc/refman/en/mysqldump.html.
常用参数说明
-?, –help 显示帮助信息 –user, -u 指定连接的用户名 –port, -P 连接数据库端口号 –password, -p 连接数据库密码 -S, –socket: 指定socket文件连接,本地登录才会使用 -h, –host 指定连接的服务器名称或者IP -P, –port 连接数据库监听的端口 –default-character-set 设置字符集,默认是UTF8 mysqldump -uroot -p –all-databases –default-character-set=latin1 -A, –all-databases 导出所有数据库。不过默认情况下是不会导出information_schema库 mysqldump -uroot -p –all-databases –all-tablespaces -B, –databases 导出指定的某个/或者某几个数据库,参数后面所有名字参量都被看作数据库名,包含CREATE DATABASE创建库的语句 mysqldump -uroot -p –-databases test mysql –tables 导出指定表对象,参数格式为“库名 表名”,默认该参数将覆盖-B/–databases参数 mysqldump -uroot -p --host=localhost --databases test --tables test -w, –where 只导出符合条件的记录 mysqldump -uroot -p --host=localhost --all-databases --where="user='root'" -l, –lock-tables 默认参数,锁定读取的表对象,想导出一致性备份的话最后使用该参数,会导致无法对表执行写入操作 mysqldump -uroot -p --host=localhost --all-databases --lock-tables –no-data, -d 不导出任何数据,只导出数据库表结构 mysqldump -uroot -p –host=localhost –all-databases –no-data –no-create-db, -n 只导出数据,而不添加CREATE DATABASE 语句 mysqldump -uroot -p –host=localhost –all-databases –no-create-db –no-create-info, -t只导出数据,而不添加CREATE TABLE 语句 mysqldump -uroot -p –host=localhost –all-databases –no-create-info -R, –routines: 导出存储过程以及自定义函数 在转储的数据库中转储存储程序(函数和程序) mysqldump -uroot -p --host=localhost --all-databases --routines –opt 功能等同于同时指定了 –add-drop-table, –add-locks, –create-options, –quick, –extended-insert, –lock-tables, –set-charset,以及 –disable-keys这些 参数默认就是启用状态。使用–skip-opt来禁用该参数 –skip-opt 禁用–opt选项,相当于同时禁用 –add-drop-table, –add-locks, –create-options, –quick, –extended-insert, –lock-tables, –set-charset, 及–disable-keys 这些参数
持续更新...