python 如何远程连接内网的mysql数据库

python 如何远程连接内网的mysql数据库,第1张

1、进入mysql,创建一个新用户test:

格式:grant 权限 on 数据库名表名 用户@登录主机 identified by "用户密码";

grant all privileges on to test@19216802 identified by "123456";

或者

grant select,update,insert,delete on to test@19216802 identified by "123456";

2、 /mysqladmin -uroot -ppwd reload

记住:对授权表的任何修改都需要重新reload

这时我们应该可以从19216802来远程管理19216801的数据库了

下面就是该脚本radiuspy,其中出现三个日期:10天以后的日期future、今天的日期now、用户到期时间userdate,如果userdate <= future 并且 userdate >= now,那么向radreply表中插入一行,向用户提示到期时间,及时缴费;如果userdate < now,那么将该用户的状态设为停机,不允许其再登陆。

#! /usr/local/python/bin/python

# -- coding: UTF-8 --

#引入模块

import MySQLdb

import datetime

#格式化日期,只有相同格式的日期才能进行比较

future = (datetimedatetoday() + datetimetimedelta(10))strftime("%Y-%m-%d")

now = (datetimedatetoday())strftime("%Y-%m-%d")

#这里就是连接远端数据库了

conn = MySQLdbconnect (host = "19216801",

user = "test",

passwd = "123456",

db = "radius")

cursor = conncursor ()

cursorexecute ("SELECT login_name,id,last_date FROM customer where last_date!='' and type='包月' and status='开通'")

安装完成后,加上我之前有一片的温湿度监测的代码:

(mysql数据库在树莓派上;

用户名密码:root,123456;

端口:3306;

地址:localhost或者127001;

数据库:testdb;

表:temp;

列名:time,temperature,humidity)

创建数据库和表的代码没写进去,可以在外面创建或者写在里面。个人建议是写在外面。

conn本来 就已经被你定义成了 函数, connping()当然不存在了。而且你要的数据库连接c,还被手动关闭了。我觉得有两点

1 按照你这个脚本的情况,你用一次,就新建一个数据库连接问题应该不大。

2 要保持使用一个连接的话。把c作全局变量 c=MySQLdbconnect(user="root",passwd="12345",host="localhost",db="yingtest")

使用的时候,直接用c但是不要close,当然要先判断这个连接是否已经断开了,如是再重新连一次。

或者把连接放到一个连接池里面,用的时候直接去连接池里面取。连接池可以看看 DBUtils模块

你说的connping() 看看是不是在c里面,c=MySQLdbconnect(user="root",passwd="12345",host="localhost",db="yingtest")就是这个对象里面,看看有没有判断连接是否断开的方法。 因为没用过 MySQLdb模块。

购买 RDS的购买非常简单,在阿里云网站RDS专区选择一款适合你的就够了。 有内存、存储空间、最大连接数三个参考数据,大家买之前可以看一下自己大概的需求,比如我要迁移的网站,每天访问量大概30W的PV左右,最近一年左右的MYSQL最大连接数是113,数据库总大小只有18G,于是果断的选择了RDS的MYSQL新二型。 存储空间够用就行,最大连接数需要小小的注意一下,如果最大连接数不够用,可能会造成“too many connections”的错误,大家可以稍微参考一下我上面给出来的数据。如果是新站,可以先购买最小的型号,如果不够,日后可以随时升级,很方便。 目前阿里云RDS提供的mysql是55版本的。

设置RDS

购买到适合自己的套餐,付款开通之后,登陆阿里云管理控制台,就能看到我们的RDS实例了。 我们购买的是一个RDS实例,在这个实例里面,你可以创建很多个MYSQL数据库,同时也能创建很多个数据库账号,像我购买的新2型就支持最多50个数据库账号和200个数据库,这对于我来说就已经足够了,这些数据库共享上面购买的内存、存储空间和最大连接数。

创建数据库和用户 :

在控制台的“数据库管理”中选择新建数据库,就会打开如下图的数据库新建页面,数据库名称看你的需要了,随意填入几个简单的字符都可以,字符集这里根据你的程序需要了,RDS支持utf8、GBK、Latin1,我要迁移的论坛是GBK编码,就选了gbk,数据库用户名和密码根据自己的需要填写就可以了,密码可以设置稍微复杂一点,账号类型选择“读写”。如下图所示。

切换连接模式 如果你是在阿里云服务器上连接rds使用,就选择内网模式,如果是在其他服务器上连接RDS使用,就选择外网模式,在控制台的右上角有切换方式。

设置IP白名单 RDS可以设置允许访问的IP,这一点对安全非常有用。直接在这里填入你要连接RDS的服务器的IP即可,如果是外网模式,请填入外网IP,如果是内网模式,填入内网IP即可。当然,图方便的,也可以填入%,表示允许所有IP连接,非常不建议这么做。 设置好了如上这些,我们就可以开始使用RDS了。

迁移数据 阿里云官方提供了一套数据迁移工具,查看,不过个人感觉那套工具有很多的使用门槛,如果数据库不是特别庞大,就不需要使用了。我迁移数据的时候使用的是Navicat for Mysql,这个工具使用简单,方便,适合小白。 我的数据库只有18G,所以就使用了很简单的方法来 *** 作了。先在源服务器上安装Navicat,然后在Navicat上建立到现有数据库的连接和到RDS的连接,在上面步骤中设置IP白名单时,记得把你现在安装Navicat的这机器的IP加入到白名单里面。 然后我们在现有的数据库上右键,选择“数据传输”。 在d出的数据传输界面中,源数据库选择我们现在使用的数据库,把数据库对象中的“表”全部选中,如果有使用视图等东西,就一并选上,目标数据库选择你在RDS上建立的数据库,这样简单的设置之后,直接点击开始就在传输数据了,接下来只要泡杯咖啡慢慢等着就行。

1、进入mysql,创建一个新用户test:

格式:grant 权限 on 数据库名表名 用户@登录主机 identified by "用户密码";

grant all privileges on to test@19216802 identified by "123456";

或者

grant select,update,insert,delete on to test@19216802 identified by "123456";

2、 /mysqladmin -uroot -ppwd reload

记住:对授权表的任何修改都需要重新reload

这时我们应该可以从19216802来远程管理19216801的数据库了

下面就是该脚本radiuspy,其中出现三个日期:10天以后的日期future、今天的日期now、用户到期时间userdate,如果userdate <= future 并且 userdate >= now,那么向radreply表中插入一行,向用户提示到期时间,及时缴费;如果userdate < now,那么将该用户的状态设为停机,不允许其再登陆。

#! /usr/local/python/bin/python

# -- coding: UTF-8 --

#引入模块

import MySQLdb

import datetime

#格式化日期,只有相同格式的日期才能进行比较

future = (datetimedatetoday() + datetimetimedelta(10))strftime("%Y-%m-%d")

now = (datetimedatetoday())strftime("%Y-%m-%d")

#这里就是连接远端数据库了

conn = MySQLdbconnect (host = "19216801",

user = "test",

passwd = "123456",

db = "radius")

cursor = conncursor ()

cursorexecute ("SELECT login_name,id,last_date FROM customer where last_date!='' and type='包月' and status='开通'")

以上就是关于python 如何远程连接内网的mysql数据库全部的内容,包括:python 如何远程连接内网的mysql数据库、树莓派下python连接mysql、用python编写与mysql数据库连接并实现断线重连的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9310296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存