我有一个 bash 脚本,应该与 MySQL 数据库对话,如下所示:
mysql --login-path=local -e "DROP SCHEMA mydatabase;"
当脚本尝试连接到 MySQL 时,出现错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
系统信息:
- Ubuntu 服务器 18.04
- mysql 5.7.28
MySQL 安装信息:
Apt 安装 mysql,运行mysql_secure_installation
设置root密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
FLUSH PRIVILEGES;
创建的~/.my.cnf
文件:
[local]
user=root
password=mypassword
我是 MySQL 新手,我认为解决方案很简单,但我很难弄清楚。如何在不更改 bash 脚本的情况下实现此目的?
答案1
我能够使用配置编辑器使其工作。
从终端:
mysql_config_editor set --login-path=local --host=localhost --user=root --password
答案2
mysql_config_editor set --login-path=local --host=localhost --user=root --password 它对我有用。我只需在复制并粘贴上述内容后输入:mysql -u root -p。