关于mysql在linux(deb系)遇到的问题及解决方法

前言

当我在树莓派上安装 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 工具扫描一下开放的端口,看一下是否是端口问题导致的不能连接

posted @ 2019-05-08 12:51  Hello_wshuo  阅读(39)  评论(0编辑  收藏  举报