本地无法连接linux上的MariaDB数据库

问题:本地用DBeaver无法连接服务器上的MariaDB数据库 ?

测试1:在cmd中ping 服务器IP,看是否能ping通,能ping通,没有问题

测试2:在cmd中telnet 服务器IP 端口,看是否能访问,能访问,没有问题

测试3:测试user表中的登录名对应的host是否为%,如果为localhost,改成%

测试4:看MariaDB数据库的监听接口: bind-address=127.0.0.1,需要把127.0.0.1改成:0.0.0.0

通过以上4步即可成功在本地通过DBeaver连接MariaDB数据库。

具体操作步骤

在服务器上安装了一个MariaDB数据库,输入用户名、密码登陆上服务器之后,不是root身份登录的需要用su root 切换root身份,输入密码登录成功,开始登录服务器上的数据库:

第一步:使用mysql -u 用户名 -p

输入密码:

进去之后没有user表,无法改user、host等信息。

解决办法:用mysql输入,(不加-u 用户名 -p)我当时是卡在了这里。知道怎么改,但是没地方下手可以改,后来领导给提供让用mysql进入数据库。

第一步:输入exit退出数据库

第二步:输入mysql

第三步:找到mysql数据库了,输入:use mysql;

第四步:select user,host from user;

第五步:观察看到两个数据库登录名,先别着急改,因为以防改错了。

第六步:select user,host,password from user; 把password查询出来,看目前在用哪个账号在本地进行登录。很明显我们用的是password带值的那一个。所以我们需要把第二个的localhost改成%即可

第七步:update user set Host='%' where password='*23AE809DDACAF96AF0FD78ED04B6A265E05AA257'

报错:频繁报这个错:

View references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

找原因 :是因为版本不一致导致的。

解决办法

高版本的不用update user表,需要update mysql.global_priv这个表。使用以下sql进行改:

第八步:UPDATE mysql.global_priv set Host='%' where User='1233';

第九步:flush privileges;

第十步:在本地通过DBeaver连接,大功告成。

相关推荐
朝新_18 分钟前
【统一功能处理】从入门到源码:拦截器学习指南(含适配器模式深度解读)
数据库·后端·mybatis·适配器模式·javaee
QT 小鲜肉1 小时前
【QT/C++】Qt样式设置之CSS知识(系统性概括)
linux·开发语言·css·c++·笔记·qt
我要升天!1 小时前
QT-- 理解项目文件
开发语言·数据库·qt
Elias不吃糖1 小时前
NebulaChat 框架学习笔记:深入理解 Reactor 与多线程同步机制
linux·c++·笔记·多线程
冉冰学姐1 小时前
SSM基于WEB的教学质量评价系统的设计与实现p9ak6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·教学质量评价·多角色管理、
liliangcsdn1 小时前
sql中left join和inner join的区别
数据库·sql
l1t1 小时前
DeepSeek辅助编写转换DuckDB json格式执行计划到PostgreSQL格式的Python程序
数据库·python·postgresql·json·执行计划
TDengine (老段)1 小时前
TDengine 字符串函数 LIKE_IN_SET 用户手册
大数据·数据库·物联网·制造·时序数据库·tdengine·涛思数据
洋哥网络科技1 小时前
centos 7.9搭建安装confluence7
linux·centos·知识图谱
q***82911 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django