存档

文章标签 ‘2054’

ubuntu20.04安装mysql8之后,php5程序和phpmyadmin出现#2054 无法登录MySQL服务器的解决方案

2020年5月19日 没有评论

最近新装了ubuntu20.04版本,如果安装了php5,在安装mysql之后,使用phpmyadmin登陆,会出现2054 无法登录MySQL服务器

这个问题经过一晚上的折腾,终于找到了解决方案:

一步:

在mysql安装之后,执行:sudo mysql_secure_installation(按照提示操作即可)(这里会让输入root的密码)
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address,注释掉
sudo /etc/init.d/mysql restart
mysql -uroot -p
输入root密码(sudo mysql_secure_installation的时候会让输入)
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
UPDATE mysql.user SET host = ‘%’ WHERE user = ‘root’;#允许远程访问,如果不需要,可以不操作
FLUSH PRIVILEGES;

当然,我们也可以新建用户:(127.0.0.1也可以再增加一个内网ip)
CREATE USER ‘root’@’127.0.0.1’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’127.0.0.1’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

第二步:

虽然执行了上方调整,但是还是无法连接,是由于Mysql8.0将默认的字符集改为了utfmb4,因此和客户端(不仅仅是PHP)的通信无法识别

所以,我们需要进行:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在mysqld的选项中增加:

collation-server = utf8_unicode_ci
character-set-server = utf8

重启mysql,完美解决问题(网上搜了很多方法,大部分都进行了第一步,但是没有进行第二步,无法解决问题)

参考网址:https://blog.csdn.net/king921004/article/details/106184909/
参考网址:https://segmentfault.com/a/1190000017370224?utm_source=tag-newest

css.php