在Linux下安装MySQL8.0.33时首次登录MySQL,并修改密码(MySQL8.0.33)
首先查看MySQL的初始密码:
sudo cat /var/log/mysqld.log | grep password
控制台输出的最后显示root@localhost:....部分为初始化密码
配置需求:
root用户 + 123456,实现在任何主机上都能登录MySQL数据库。
(1)用刚刚查到的密码进入MySQL(如果报错,给密码加单引号):
mysql -u root -p'初始密码'
然后报错:
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
报错显示权限不足,用户’root’@'localhost’不能登录到MySQL服务器。
解决:在/etc/my.cnf文件中添加:
sudo vim /etc/my.cnf
然后重启MySQL服务:
sudo systemctl restart mysqld
再重新用root和初始密码登录,可以看到登录成功:
(2)更改MySQL密码策略(解决密码太简单时报错问题)此处用的是MySQL8.0.33,语法与MySQL5.7.28有区别:
(3)设置简单好记的密码,注意MySQL8.0.33与MySQL5.7.28的语法区别:
mysql> alter user 'root'@'localhost' identified by '123456';
报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
解决:刷新一下
flush privileges;
修改密码成功!