[問題] 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