mysql 导入导出

本文环境

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安装
下一篇:待续

### 如何在 MySQL 中进行数据导入导出操作 #### 使用 `mysqldump` 工具导出数据库 为了安全有效地备份整个数据库或特定表,可以使用命令行工具 `mysqldump`。此工具创建 SQL 脚本文件,其中包含重建原始数据库所需的所有指令。 ```bash mysqldump -u username -p database_name > backup.sql ``` 这条命令将会提示输入密码并生成名为 `backup.sql` 的文件[^1]。 对于只希望导出结构而不包括实际记录的情况,则应附加参数 `--no-data`: ```bash mysqldump --no-data -u username -p database_name > structure_only_backup.sql ``` #### 设置 `secure_file_priv` 参数 需要注意的是,在某些版本的 MySQL 和 MariaDB 上,默认情况下有一个叫做 `secure_file_priv` 的配置项被启用,它指定了允许执行文件读写操作的具体路径。这意味着除非指定位置位于该变量定义的位置内,否则无法完成相应的导入导出动作[^4]。 可以通过查看当前设置来确认具体路径: ```sql SHOW VARIABLES LIKE 'secure_file_priv'; ``` #### 导入 SQL 文件至数据库 当拥有一个有效的 `.sql` 文件后,就可以通过如下方式将其内容加载回目标数据库中: ```bash mysql -u username -p database_name < backup.sql ``` 这同样适用于恢复之前由 `mysqldump` 创建的数据副本或是其他形式的手动构建脚本文件[^2]。 #### 大型数据库处理技巧 针对非常庞大的数据库,建议采用分批次的方式来进行转储以及后续还原工作;另外还可以考虑利用多线程特性加快速度(取决于服务器硬件条件)。此外,也可以探索更高级别的解决方案如 Oracle 提供的相关工具集中的 Data Pump 功能[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值