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