我目前通過$_SESSION['connection'] = odbc_connect('Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=mysql;Option=3;', 'root', '');
如何允許遠程訪問我的數據庫?
訪問數據庫除了fromt的事實,我需要得到一個密碼放在該帳戶(甚至使用另一個帳戶不是root?而且很可能改變DATABSE的名字嗎?),我想編寫一些代碼,我可以不費吹灰之力地安裝在幾個站點上。
我想在每個站點使用相同的代碼,但我不能提前知道IP地址。我該如何解決這個問題?我只是告訴他們的IT人員在odbc_connect()調用中設置類似myDatabaseServer
的DNS鏈接,然後用Server=myDatabaseServer
替代Server=localhost
?或者我需要在Windows控制面板中使用ODBC管理器進行一些操作?
嗯,我也許應該混淆或ditributing之前COMPLE代碼...
更新:我發現this question該說
In your MySQL configuration file (my.cnf), you need the following at least:
port = 3306 # Port MySQL listens on
bind-address = 192.168.1.15 # IP address of your server
# skip-networking # This should be commented out to enable networking
我推測bind-address
coudl是myDatabaseServer
,所以我不需要編輯每個遠程站點的配置文件(?)
它也表示GRANT ALL ON test.* TO 'root'@'192.168.1.15' IDENTIFIED BY '';
因此,是一個必須在數據庫上運行一次的命令?但我無法預先知道IP地址?事實上,多個用戶可能需要訪問 - 我可以通配符到192.168。 。?真的,真的需要嗎?有沒有什麼方法可以配置一次,不知道每個用戶將使用哪個網絡地址範圍(我知道它聽起來不安全,但我可以授予每個人的訪問權並依賴密碼保護,外加人員不會知道數據庫在那裏?)
「甚至可能使用另一個帳戶比根?」 - 可愛...是的,鎖定下來。 – ocodo 2011-02-07 03:45:01
切勿從任何應用程序連接到數據庫作爲`root`,或永遠不允許從任何主機(除`localhost`)連接作爲`root`作爲生產級數據庫;而是創建另一個用戶。 – 2011-02-07 03:56:26
+1。是的我知道 ...我只是用root進行開發。別擔心,我會鎖定它。 – Mawg 2011-02-07 05:58:39