linux mysql

在debian安装mysql

准确的说是MariaDB,因为替换了,安装命令是apt install mariadb-server

安装后php(以及navicat)不能访问,原因mysql8.0启用了新的密码验证方式,但是这些客户端都不支持,所以我们只好换成旧的了。

将caching_sha2_password换成mysql_native_password

UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root';

默认安装的数据库密码是空的,直接用mysql 命令就可以登陆,然后执行上述命令。

用navicat+ssh访问的话,ip填localhost或127.0.0.1,而不是服务器ip

如果想直接远程登陆的话,应该修改Host

UPDATE mysql.user SET Host='%' WHERE User='root';

如果想修改密码的话

UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';

修改完记得再执行一下

FLUSH PRIVILEGES;

 上述命令可以立即生效,也可以重启mysql使之生效。

将host改为%并不意味着你一定可以远程登陆了,可能还有一个地方。

修改/etc/mysql/mariadb.conf.d/50-server.cnf 注释掉绑定ip为127.0.0.1

原文地址:https://www.cnblogs.com/webkb/p/13803132.html