宝塔数据库用户有权限使用设置

哎,跟你讲讲我以前整数据库权限那事儿吧。

那年头,我还在上海帮一家小公司做服务器运维。
那会儿用宝塔面板,真省事儿。

有一次,老板急吼吼地找我,说网站访问突然卡得要死。
我登录宝塔一看,嚯,数据库用户权限设置得乱七八糟的。
一个用户,啥权限都给了,连删除表的权限都有了,还允许所有IP访问。
你想想,这等于把家门敞开让外人随便进。

我当时就懵了,赶紧把权限改回来。
给需要的用户只开必要的权限,比如查询、插入啥的,本地访问也行,但远程访问得指定IP。
改完之后,还执行了FLUSH PRIVILEGES;,欸,这下子网站立马正常了。

所以啊,设置权限这事儿,真得小心。
别像以前那个公司,权限一开,最后还得我跑来踩坑修复。
定期检查用户权限,特别是那些老用户,啥时候创建的都忘了,权限还特别高,那得多危险。

哦对了,还有一次,我在深圳帮一个客户配置远程数据库访问。
那家伙,IP白名单没设置好,结果隔壁办公室的哥们手贱,连接了一下,还删了点数据。
我后来跟他说,你看看你干的好事!他当时脸都绿了。

所以啊,设置权限,特别是远程访问,一定得把IP白名单给设置死。
还有密码,那得跟根救命稻草一样看紧了,密码要是泄露了,那麻烦可就大了。

宝塔面板数据库提示只有只读权限,无法操作的解决办法

哎,哥们儿,之前我就遇到过这事儿。
记得那会儿我弄了个宝塔面板,结果数据库提示只有只读权限,没办法操作。
那真是把我急坏了。
我当时就照着网上说的,先找数据库存放目录。
这事儿吧,得自己先搞清楚数据库在哪放着,不同服务器可能路径都不一样。

找到了目录,我就开始操作了。
先是用那个chown命令把所有者改成了mysql用户,然后又用chmod把权限设置成7 00。
这7 00权限,就是让所有者有读、写、执行权限,其他人啥都没有。
我当时就是想确保只有mysql用户能管这地方。

然后呢,我又得进到那个目录里头去,把里面的文件也搞一下。
同样是用chown和chmod,这次把文件权限设置成6 6 0,就是让所有者和组用户有读、写权限,其他人还是啥也没有。

搞定了这些,我就重启了MySQL服务。
在宝塔面板里头找了一下,找到了MySQL服务的重启按钮,点了一下。
或者在命令行里头输了个systemctl restart mysqld,这玩意儿在CentOS系统里挺管用。

重启之后,嘿,数据库的读写权限就回来了,啥事儿都没有了。
不过说真的,这事儿之前也没怎么干过,都是网上查的。
操作之前我还备份了一下数据库,免得万一搞砸了,数据没了就糟了。

这事儿给我提了个醒,以后操作之前得多注意,先确认mysql用户在不在,权限设置得对不对。
设置不对,数据库就不好使,搞不好还可能存在安全风险。
要是不确定,就先看看MySQL的错误日志,那里面一般都有问题信息。
哎,学无止境啊,这坑也是踩得挺多的。

宝塔(BT)面板7.4.2版本出现数据库致命漏洞

哎哟,这事儿得赶紧说说。
宝塔(BT)面板7 .4 .2 版本啊,这可是个大坑啊,漏洞严重到爆。
我查了查,这漏洞啊,早在2 02 3 年就发现了,攻击者只要在服务器IP后面加上:8 8 8 /pma,就能直接登录PMA数据库,不用密码,你说这事儿能不严重吗?
这漏洞啊,让攻击者能直接导出数据库内容,用户信息、网站配置啥的,全都能拿到。
更可怕的是,他们还能修改或删除数据库,网站瘫痪了,数据永久丢失了,这可咋整啊?
受影响的版本也多了去了,Linux系统是7 .4 .2 ,Windows系统是6 .8 ,这俩版本的用户可得赶紧升级啊。

那怎么办呢?官方给出了办法,升到最新版本。
Linux是7 .4 .3 ,Windows是6 .9 升级完之后,那个:8 8 8 /pma路径就访问不了了。

升级步骤嘛,登录BT面板,进“软件管理”或“系统更新”模块,检查更新,安装最新版本,或者用命令行执行官方提供的升级脚本。
升级完之后,还得验证一下,看看那个路径是不是真的访问不了了。

要是还没升级,得采取点临时措施。
比如,通过BT面板禁用PMA访问,或者修改Nginx/Apache配置,禁止访问那个路径。
防火墙规则也得设置一下,限制外部IP对8 8 8 端口的访问。
数据库备份也得做,防止万一。

官方也发了通知,通过短信、站内信啥的,提醒用户升级。
用户可以通过BT面板的“消息中心”或官方社区获取最新安全公告。

后续建议嘛,定期检查更新,安全加固,监控与审计,这些都是必须的。

总之,这事儿得赶紧处理,别让攻击者有机可乘。
要是受影响的用户,赶紧升级,加强防护,别让数据出问题。

宝塔面板使用`Navicat`或其他工具连接数据库

欸,你遇到宝塔面板数据库连不上的事儿了吧?别急,我给你捋捋,我之前也踩过坑。

上周有个客人问我,说他用Navicat连宝塔MySQL根本连不上,急得不行。
我让他按这几步来试试:
第一,先看端口。
3 3 06 端口是不是开了?数据库默认就是这个端口,服务器那边的防火墙、安全组都得放行。
你进宝塔面板,去"安全"设置里瞅瞅,看3 3 06 端口是不是绿的,允许访问。
你要是用的云服务器,像阿里云、腾讯云啥的,还得去云控制台的安全组规则里再手动加个入方向规则,放行3 3 06 端口。
我记得有次我就忘了云那边也得上,折腾了好久。

第二,看数据库权限。
端口开了还连不上,那可能是权限不够。
你进宝塔面板的"数据库"管理界面,找到你那个数据库,看下权限是不是设成"所有人"。
得用你数据库的用户名和密码去试试连接,密码对不对都得确认。
我之前就遇到过用户名记错了的情况。

第三,这个比较关键,可以新建个高权限用户。
你要是想要全站访问权限,或者权限搞丢了,可以在宝塔面板自带的phpMyAdmin里搞。
进"数据库"页面,点那个phpMyAdmin图标,进去后在"用户账户"选项卡,点"添加用户",用户名随便取,密码搞个强点的,然后勾选"全局权限"里所有那些勾,特别是"创建数据库"、"删除数据库"、"选中数据库"、"修改数据库"、"删除用户"这些,全选了最保险。
那个"主机"字段,你要是想远程连,就填%,表示所有IP都能连;要是有特定IP要连,就填那个IP地址。
记得点"添加"。

第四,再测测。
做完这些设置后,你再去Navicat里填服务器IP、端口(就是3 3 06 )、那个新加的用户名和密码,再试一次连接。
要是还不行,再检查几个细节:服务器是不是绑了内网IP?得改成公网IP,或者你本地电脑和服务器得在同一个网络才行。
再看看宝塔面板里"软件商店"里MySQL/MariaDB是不是绿色的,状态是running。
云服务器的话,看看有没有开"防CC攻击"这种安全策略,有时候那些策略会挡住连接,得临时关了试试。

还有几个常见问题得注意:
端口冲突:服务器上是不是装了多个数据库?比如一个WordPress一个PHPStudy,那3 3 06 端口可能被占用了,这时候要么停掉另一个数据库,要么把其中一个改到其他端口,比如3 3 07 ,然后在Navicat里也改端口去连。

MySQL版本问题:现在新装的都是MySQL8 .0以上,但有些老版的Navicat不兼容。
你看看是不是连不上的时候报什么错,要是报认证插件不兼容,可以在宝塔面板里用root用户登录一下,然后执行个SQL命令改认证方式:ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; 把mysql_native_password换成你那Navicat支持的插件。
记得执行完后要用新密码连。

SELinux限制:要是服务器启了SELinux,可能会挡住连接。
可以执行个命令开一下:setsebool -P httpd_can_network_connect_db 1 这个命令暂时允许Web服务连数据库。

试了这些方法要是还连不上,就建议你看看宝塔面板根目录下/www/server/panel/logs里的错误日志,具体报什么错能帮你缩小范围。
实在搞不定,直接找服务器提供商的技术支持也行,他们那边直接接触硬件,可能更快解决。

你先试试这些,看看有没有用。
不行我再想想别的办法。