pymysql:Mysql拒绝从远程访问的解决办法
pymysql:Mysql拒绝从远程访问的解决办法
pymysql连接数据库
# 导入pymysql模块
import pymysql # 连接database
conn = pymysql.connect(
host="192.168.1.1",
user="root",
password="password",
db ="test",
charset ="utf8") # 得到一个可以执行SQL语句的光标对象
cursor = conn.cursor() # 执行完毕返回的结果集默认以元组显示
# 得到一个可以执行SQL语句并且将结果作为字典返回的游标
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 定义要执行的SQL语句
sql = "select * from account" # 执行SQL语句
cursor.execute(sql) # 关闭光标对象
cursor.close() # 关闭数据库连接
conn.close()
报错内容
Traceback (most recent call last):
File "C:/Pycham/Mysql/test.py", line 10, in <module>
charset ="utf8")
File "C:\Pycham\venv\lib\site-packages\pymysql\__init__.py", line 94, in Connect
return Connection(*args, **kwargs)
File "C:\Pycham\venv\lib\site-packages\pymysql\connections.py", line 325, in __init__
self.connect()
File "C:\Pycham\venv\lib\site-packages\pymysql\connections.py", line 598, in connect
self._get_server_information()
File "C:\Pycham\venv\lib\site-packages\pymysql\connections.py", line 975, in _get_server_information
packet = self._read_packet()
File "C:\Pycham\venv\lib\site-packages\pymysql\connections.py", line 684, in _read_packet
packet.check_error()
File "C:\Pycham\venv\lib\site-packages\pymysql\protocol.py", line 220, in check_error
err.raise_mysql_exception(self._data)
File "C:\Pycham\venv\lib\site-packages\pymysql\err.py", line 109, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.InternalError: (1130, "Host '219.139.78.81' is not allowed to connect to this MariaDB server")
解决办法
Mysql必须开启远程访问权限 才允许远程连接。
root帐户是无法远程登陆的,只可以本地登陆。
1.使用mysql数据库
use mysql;
2.添加用户允许从任何主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
允许任何IP地址(上面的 % 就是这个意思)的电脑使用root用户 和密码(password)来访问这个MySQL Server 。
如果你想允许用户root从ip为192.168.1.1的主机连接到mysql服务器,并使用password作为密码 GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.1' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户root从ip为192.168.1.1的主机连接到mysql服务器的dk数据库,并使用password作为密码 GRANT ALL PRIVILEGES ON dk.* TO 'root'@'192.168.1.1' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3.及时生效
FLUSH PRIVILEGES

4.测试
# 导入pymysql模块
import pymysql # 连接database
conn = pymysql.connect(
host="192.168.1.1",
user="root",
password="password",
db ="test",
charset ="utf8") # 得到一个可以执行SQL语句的光标对象
cursor = conn.cursor() # 执行完毕返回的结果集默认以元组显示
# 得到一个可以执行SQL语句并且将结果作为字典返回的游标
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 定义要执行的SQL语句
sql = "select version()" # 执行SQL语句
cursor.execute(sql) # #使用fetchone()方法获取一条数据
data = cursor.fetchone()
print("Mysql version : %s"%data) # 关闭光标对象
cursor.close() # 关闭数据库连接
conn.close()

pymysql:Mysql拒绝从远程访问的解决办法的更多相关文章
- Python:MySQL拒绝从远程访问的解决方法
MySQL连接数据库 #!/usr/bin/python # -*- coding: UTF-8 -*- import pymysql # 打开数据库连接 db = pymysql.connect(& ...
- MySQL数据库不能远程访问的解决办法
MySQL数据库不允许从远程访问怎么办? 下面提供两种方法: 1.改表法 MySQL的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 ...
- MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法
MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...
- Loadrunner参数化连接oracle、mysql数据源报错及解决办法
Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是Win7 64, 两位小伙伴因为是默认安装lr,安装在 最终参数化的时候,出现连接字符串无法自动加载出来: 最 ...
- MySQL数据库忘记root密码解决办法
MySQL数据库忘记root密码解决办法 1.在运行输入services.msc打开服务窗体,找到MYSQL服务.右键停止将其关闭.如图:
- 【MySQL】JDBC连接MySQL的一些问题以及解决办法
[MySQL]JDBC连接MySQL的一些问题以及解决办法 http://blog.csdn.net/baofeidyz/article/details/52017047
- [原创]MySQL数据库忘记root密码解决办法
MySQL数据库忘记root密码解决办法 1.在运行输入services.msc打开服务窗体,找到MYSQL服务.右键停止将其关闭.如图:
- [异常篇]001.MySQL数据库忘记root密码解决办法[转载]
MySQL数据库忘记root密码解决办法 1.在运行输入services.msc打开服务窗体,找到MYSQL服务.右键停止将其关闭.如图: 2.在运行输入cmd打开终端. 3.找到MYSQL的安装目录 ...
- mysql 数据库导入数据报错MySQL server has gone away解决办法
mysql 数据库导入数据报错MySQL server has gone away解决办法: 进入数据库执行以下命令即可: set global wait_timeout = 2880000; set ...
随机推荐
- Notepad++怎么增加整行删除快捷键?添加/取消区块注释?
1.有网友说 Notepad++ 自带删除行功能,用快捷键 Ctrl+L 就可以删除一行.的确,这个快捷键是可以删除一行文本,但确切的说,Ctrl+L 并不是仅仅删除了一行文本,而是 剪切 了一行文本 ...
- Confluence 6 的小型文字档案(Cookies)
这个页面列出了存储在 Confluence 用户浏览器中的小型文字档案(Cookies)内容.这些内容是由 Confluence 自己创建的.这个页面不会列出由 Confluence 安装的第三方插件 ...
- Confluence 6 XML 备份失败的问题解决
XML 站点备份仅仅被用于整合到一个新的数据库.设置一个测试服务器 或者 创建一个可用的备份策略 相对 XML 备份来说是更合适的策略. 相关页面: Enabling detailed SQL log ...
- nginx之访问控制http_access_module与http_auth_basic_module
http_access_module 作用 基于IP的访问控制 语法 使用 局限性 解决办法 1. http_x_forwarded_for http_auth_basic_module 作用 基于用 ...
- AI学习吧-支付宝支付
支付宝支付流程 1.接收前端发过来的贝里数和结算金额 2.检查贝里数是否够用 3.获取结算中心的课程并应用优惠券 4.应用未绑定课程的优惠券 5.判断总价格减去优惠券价格是否等于实际支付金额 6.生成 ...
- 手机app数据的爬取之mitmproxy安装教程
mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler.Charles的功能,只不过它通过控制台的形式操作. 此外,mitmproxy还有两个关联组件,一个是mitmdump, ...
- Linux桌面环境安装matlab并创建快捷方式
安装matlab sudo mkdir -p /mnt/matlab sudo mount -t auto -o loop /home/chris/Downloads/2016b_linux/R201 ...
- Web的几种上传方式总结
问题 文件上传在WEB开发中应用很广泛. 文件上传是指将本地图片.视频.音频等文件上传到服务器上,可以供其他用户浏览或下载的过程. 以下总结了常见的文件(图片)上传的方式和要点处理. 表单上传 这是传 ...
- Html中,id、name、class、type的区别
<input type="text" name="name" id="name" class="txt"> ...
- ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN DESC)函数的使用
ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN DESC)函数的作用是指定COLUMN(列)进行分区,在分区内指定COLUMN(列)进行排序 ...