mysql - mysqldump mysql 8,在windows服务器上没有命令行密码
问题描述
我想使用每日批处理作业而不在批处理文件中包含密码。
那里有很多 Linux 示例。我找不到 Windows 版本。
我的开发机器在 Windows Server 2016 上使用 MySQL 8.0.0.12。我使用了 Windows mysql 安装程序并添加了 Mysql 服务器和 Workbench。
mysqldump 的位置:“C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe”
https://dev.mysql.com/doc/refman/8.0/en/option-files.html 表 4.1 指定了 8 个可能的位置。表中的最后一个选项优先。
C:\ProgramData\MySQL\MySQL 服务器 8.0\Data
您可以在配置文件中包含 sql 用户名和密码。现在你在使用 mysqldump 时引用这个文件。在 Linux 中,配置文件以 .cnf 结尾,在 Windows 中,它们是 .ini
如果不存在,请将 mysql bin 目录添加到 Windows 路径:C:\Program Files\MySQL\MySQL Server 8.0\bin
我更改了“C:\ProgramData\MySQL\MySQL Server 8.0\Data\my.ini”。
作为第一步,我使用了 root 用户和密码。all-databases - 这将使 mysqldump 备份所有文件。我将此部分添加到 .ini 文件的底部。
[mysqldump]
user=root
password=**yourpasswordhere**
all-databases
我以为 mysqldump 会从 my.ini 中获取用户名和密码,然后备份就可以了。
C:\ProgramData\MySQL\MySQL Server 8.0>"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqlpump.exe"
mysqlpump:出现错误:1045:连接到 MySQL 服务器时,用户 'ODBC'@'localhost' 的访问被拒绝(使用密码:否) mysqlpump:[错误](11)
转储过程遇到错误,将不会继续。
解决方案
推荐阅读
- hibernate - Hibernate EventListener 中的存储库查找导致 stackoverflow
- node.js - 我是编程新手,我正在学习 node.js,但是在执行 parsedUrl 时,我得到 [object:null] 的输出,如何修复它
- android - 在标记 ';' 处重复声明类型' 尝试声明 SELinux 类型时
- python - Visual Studio Code 中的调用层次结构
- python - django 检索 csrf 令牌
- python - 显示断言 iOS 元素时有哪些最佳实践?
- reactjs - 需要根据传递的道具添加不同的样式
- javascript - Node.js Express 在执行包含管道的查询字符串时发送 400 个请求
- performance - Cosmos DB 性能问题(即 RU 费用、吞吐量、Http 429)
- identity - 生成匿名标识符的可重复方式?