关于mysql在linux(deb系)遇到的问题及解决方法
程序员文章站
2022-06-04 14:30:17
...
前言
当我在树莓派上安装 mysql 数据库的时候,默认安装的是mariadb 数据库,不过没什么区别(在我看来),然后就是闹心的解决各种问题了
1. mysql 在root用户下无密码登录问题
这个问题出现主要是因为 mysql 默认把 root 用户的 plugin 设置为 unix_socket 了,我们可以把它更改为 mysql_native_password 或者设置为空都是可以用到密码的。当然然后你需要设置一个root 密码
use mysql;
update user set plugin="mysql_native_password" where user='root';
update user set password=password("mysql") where user="root";
//这里密码设置为mysql了
然后重启mysql 服务
service mysql restart
再次进入就可以使用密码进入数据库了
2.开启远程链接问题
这里需要改两个地方,数据库和mysql的配置文件
首先需要修改 用户表中的root用户的 host字段为%
use mysql;
update user set host="%" where user='root';
然后我们修改配置文件,将配置 文件中的 bind-address=127.0.0.1
这行注释掉或者修改为 bind-address=0.0.0.0
这里不同的数据库配置文件位置不同,比如我的是 mariadb,配置文件在/etc/mysql/mariadb.conf.d/50-server.cnf
, 不过无论 mysql 还是 mariadb 配置文件肯定都在 \etc\mysql
下面, 如果每个配置文件里面都没有 bind-adress
这个配置项,那就不用改了,因为默认配置是允许其他 ip 连接的
然后重启数据库,正常情况下就可以远程连接上了
如果还是连接不上建议使用 nmap
工具扫描一下开放的端口,看一下是否是端口问题导致的不能连接
上一篇: 帮忙将下面的php语言转换成c#