[问题] python 连 SQL server

楼主: f496328mm (为什么会流泪)   2017-08-24 02:15:25
想请问有使用 python 连接SQL server 的大大
我目前已经架好SQL server,外部可以根据某个 ip 连到我的 SQL server
目前我可以在 server 端利用 python 直接存取 SQL server,
但是直接打 IP ,却出现error
导致我无法利用外部机器,进行存取,
而外部我直接用 phpmyadmin 网页,却可以进入该数据库,
想请问,要如何修改,才能从外部,利用 python 连接 SQL server ??
谢谢
我上网找过一些文章,比较奇怪的是,我的 /etc/mysql/my.cnf 文件几乎是空的,
所以我参考这篇,我的 my.cnf 跟他一样
https://askubuntu.com/questions/699903/why-is-etc-mysql-my-cnf-empty
所以我去修改这个文件,/etc/mysql/mysql.conf.d/mysqld.cnf,
将 skip-external-locking 和 bind-addrerss = 127.0.0.1 注解掉,
结果还是失败
ps : 在 SQL 使用者权限上 ,主机名称我是给 % ,代表所有主机都可以连过来对八
另外我 SQL server 是架在 ubuntu 16.04 上
作者: HenryLiKing (HenryLiKing)   2017-08-24 08:19:00
算你幸运~我昨天刚遇到这问题欸GRANT SELECT,INSERT,UPDATE,DELETE ON [db_name].*TO [username]@[remoteIP] identified by '[password]';最后记得FLUSH PRIVILEGES;
作者: s860134 (s860134)   2017-08-24 20:05:00
phpmyadmin 是架在和数据库同台机器,存取都算是本地啊
作者: HenryLiKing (HenryLiKing)   2017-08-24 20:19:00
对 是指数据库的名称ip那个我就不清楚了 好像可以但我目前没有用过耶
作者: s860134 (s860134)   2017-08-25 13:13:00
你可以尝试用其他数据库客户端去连db, phpmyadmin 能连不代表什么他算是一个本地代理,你希望的是不经过这个代理直接操作数据库你的使用者帐号有包含空白吗?
作者: bluecadence (Maxwell's demon)   2017-08-25 13:19:00
你先从外部用 "telnet 114.34.138.146 3306" 测试有回应表示 server 已经没问题了。你的问题大概是mysql使用者权限没设定好另外,你create mysql user 的时候,有分别在localhost 和外部% 都有创设帐号吗?例如 create user 'test'@'localhost .......以及 create user 'test'@'%'........帐号创设完毕,再用 grant 给予适当权限,同样的外部% 和本地 localhost 都要设定事实上,对于mysql来说 [email protected][email protected]% 是不同帐号,所以要分别设定。"telnet 114.34.138.146 3306"只是要测试从mysqlserver 能不能从外部连到有乱码就乱码无所谓,你大概误会我的意思36-229-90-122.dynamic-ip.hinet.net 是host nameip 是 36.229.90.122你的问题看起来就是test帐户权限没设定好

Links booklink

Contact Us: admin [ a t ] ucptt.com