本文环境
mysql 8.0.27 端口3306 用户名:test 密码:test_pass 数据库实例:mytest
mysqldump命令导出
mysqldump -P3306 -utest -ptest_pass --databases mytest > mytest.db
-P端口
-u用户名
-p密码
–databases 数据库实例
mytest.db导出的文件名称
现在mysql导出会报如下错误:
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: [ERROR] mysqldump: unknown option '-m'.
是因为现在mysql不建议我们在命令中直接使用-p参数,也就是在命令中使用密码。也就是不要使用-p参数,执行命令回车后,手动输入密码。但是我们很多时候需要制定mysql的自动备份脚本,不可能手动输入密码,又该怎么办呢?
使用选项文件
需要我们自定义一个.cnf的选项文件如:D:/work/soft/mysql-8.0.27-winx64/test.cnf,在[client]下配置如下:
[client]
default-character-set=utf8mb4
port=3306
user=test
password=test_pass
# 注意:用户需要有导出的权限,否则就只能使用root账号
这样我们的导出命令如下:
mysqldump --defaults-file=D:/work/soft/mysql-8.0.27-winx64/test.cnf --databases mytest > mytest.db
导出文件的位置就在我们执行该命令的文件夹
–defaults-file指定设置了用户名密码端口的配置文件的绝对路径,通常该文件的权限为400或600
了解更多,请查看官网链接:https://dev.mysql.com/doc/refman/8.0/en/password-security-user.html
只导出表结构
使用 -d 参数只导出表结构
mysqldump -d --defaults-file=D:/work/soft/mysql-8.0.27-winx64/test.cnf --databases mytest > mytest.db
mysql命令导入
mysql --defaults-file=D:/work/soft/mysql-8.0.27-winx64/test.cnf mytest < mytest.db
上一篇:Mysql windows安装
下一篇:待续