1. 首先MySQL数据库插件是个比较复杂的插件,毕竟涉及到的参数和权限之类的比较多,但是呢也不排除它的实用性特别强,特使是针对没有APICMS或者网站系统来说,直接通过数据库入库数据,也未尝不可,为了能够让大家对接上数据库环境,我们需要带领您认真学习配置,根据以下说明和两个案例来学习一下!<br />![$JED[T))`PS~PZG6STA864D.png](https://cdn.nlark.com/yuque/0/2023/png/1454648/1682098666118-91b80c6b-9010-4611-bfc1-7b74da075c52.png#averageHue=%23b7b6b5&clientId=ua46de6de-5469-4&from=paste&height=780&id=u6df600d4&originHeight=702&originWidth=1143&originalType=binary&ratio=0.8999999761581421&rotation=0&showTitle=false&size=190727&status=done&style=none&taskId=ua4a08e57-9f12-42fc-a383-6dcef200e8e&title=&width=1270.0000336435114)<br />![image.png](https://cdn.nlark.com/yuque/0/2023/png/1454648/1682098133390-2a6e4ba1-8621-4c95-8614-6534bc1959ef.png#averageHue=%23c1b493&clientId=u9bb52ae4-a842-4&from=paste&height=170&id=u8ea12bc3&originHeight=153&originWidth=192&originalType=binary&ratio=0.8999999761581421&rotation=0&showTitle=false&size=4680&status=done&style=none&taskId=u99377a98-0ffe-4ab6-8ef3-84fed73477c&title=&width=213.33333898473683)

1.参数和权限

Mysql数据库,支持远程对接,本地对接

[Mysql]

数据库地址 localhost 代表本地

host = localhost

端口 默认3306

port = 3306

数据库名称

db_name =

数据库用户名

user =

数据库密码

passwd =

数据库编码

charset =

数据表名称

db_list =

MySQL版本:首先Mysql数据库有版本要求,最低要求在5.6+,避免一些语法冲突
数据库端口:一般默认3306 如果您有特殊设置,请放行此端口并记录填入配置
数据库名称:这个应该都知道
数据库密码:这个只有你知道
数据库编码:这个请仔细核对,避免乱码无法入库报错等情况
数据表名称:您需要把数据丢在哪个表中,就请复制表名称过来放进去

image.png

2.本地入库案例
为了方便大家在本地入库Mysql数据,这里的案例是采用phpEnv来配置的
image.png
我们先找到参数:
image.png
打开之后我们可以看到配置信息,抄过来:
image.png :::info 3306端口和utf8编码 然后这个地址本地写localhost 账户密码都是root这是phpEnv默认的,宝塔的待会讲 ::: 我们写到配置中去
image.png
然后为了测试方便,我们用Navicat for MySQL展示效果,所以先连接上,也是为了后面写语法方便
image.png
继续打开数据库对应表:
image.png
构造sql语句,我们需要优先填写一些测试数据,如果你有数据,直接操作即可,选中左边的黑色三角形,右键
image.png
复制insert语句,这是一个插入语句,OK,我们看下长啥样: :::info INSERT INTO mysql.test_addonarticle (id, title, body, pic, publish, top) VALUES (‘1’, ‘测试标题非常的长哦测试标题非常的长哦测试标题非常的长哦’, ‘一个来自山西农村一个普通家庭的孩子,让战友们不在寂寞。’, ‘http://pic.cn/1.JPG’, ‘1’, ‘0’);

::: 好的,我们拿到了插入语句,现在开始构造我们需要的内容,让变量可以插进去!
我们打开module目录下的mysql插件文件mysql.py
找到函数mysql_post_msg() 大概如下图 126行左右:
image.png

已经提示您需要插入sql语句了,但是我们现在拿到的仅仅是一个测试的,因此我们还需要改造一下:
image.png
先复制上去,在外面套一层双引号,注意一定是双引号,前后整一个,看图!
构造参数:
我们插件带了id查询功能,避免id不增加的情况
变成这种模式,参数如何构造的呢?
image.png
一一对应,替换掉即可哦!
下面给出示例代码: :::info sql = “INSERT INTO {}.{} (id, title, body, pic, publish, top) VALUES (%s, %s, %s, %s, %s, %s)”.format(db_name, db_list)
params = (n, title, msg_escaped, ‘http://pic.cn/1.JPG’, ‘1’, ‘0’) :::

眼尖的伙伴已经发现这代码还指定了表和数据库,也就是db_name和db_list
这两个参数是固定的,db_name和db_list,只要你在设置中不写错,就没事!
完了试试效果

image.png
3.宝塔如何配置数据库和权限(远程发布案例)
服务器IDC处放行3306端口,默认应该都是放行的,不通就去IDC改下

首先打开3306端口权限
image.png
然后打开对应的数据库权限
image.png
打开数据库 所有人 可以访问的权限
然后看一下本地发送案例里面的构造信息,就可以愉快玩耍了!