这是我尝试过的解决方案;
我尝试通过在终端中运行以下代码来更改 root 用户的 root 密码
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
quit;
我尝试通过在终端中运行以下代码来删除 root 用户并使用新密码创建一个新用户
sudo mysql -u root
DROP USER 'root'@'localhost';
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
quit;
我尝试通过在终端中运行以下代码将当前密码策略要求从 MEDIUM 更改为 LOW
SHOW VARIABLES LIKE 'validate_password%';
SET GLOBAL validate_password_policy = 0;
我尝试通过在终端中运行以下代码来停止并重新启动我的 Ubuntu 机器上的 MySQl 服务
sudo systemctl stop mysql
sudo systemctl start mysql
但不幸的是,这些都不适合我。
这对我有用;
我后来打开了我的 Ruby on Rails 项目的config/database.yml 文件,发现没有为默认 root 用户名定义密码(密码字段为空)
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password:
socket: /var/run/mysqld/mysqld.sock
我需要做的就是在密码字段中输入我必须为 root 用户配置的密码并保存。
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: mypassword
socket: /var/run/mysqld/mysqld.sock
然后我再次运行rails db:migrate 代码,这次它运行良好,创建了我的测试和开发数据库。
就是这样。
我希望这会有所帮助。