【教學】遠端電腦或伺服器連結並存取本機的MySQL(不使用localhost使用IP)

大家好~我好久沒回來了(←自以為有人在看XD) 今天來分享一個我自己前不久所遇到的問題~~ 就是遠端的電腦(伺服器Server)要如何連結並存取本機(伺服器Server)的MySQL(資料庫)。 如果你已經覺得不知道我在講甚麼了,就別看這篇了吧~~~   常在寫網頁後台的朋友們, 應該都知道如何用PHP連結後台Server上的某一個資料庫~ 連結的寫法有很多種,我自己是習慣這樣寫:   看起來相當合理,也沒有任何的問題! 但是~~這僅限於本機端(localhost)互相存取,也就是localhost的做法~~~   我遇到的問題是… 我的新客戶基於某種需求,需要把他們的部分資料藉由轉借方式存取到我這邊的資料庫裡。 但又不讓我動他們公司的資料庫…. 所以我只能開放我這裡的資料庫給他們…但感覺超危險的= = 不過為了"客戶需求"權宜之下不得不這麼做~~~ 反正網站做完之後架到他們的地方去,我就要刪帳號關權限了….   有些人可能很天真,想說不就在PHP那$db_server那改IP不就好了嘛~~~ 別傻了~~~ 如果這麼簡單大家飯都不用吃了~~ 總之…如果MySQL帳號是root而且host是對應到localhost的話, 再怎麼改IP關防火牆~~~ 做到死都是無法連到~~   在這裡我用的方法就是新增MySQL的帳號並且賦予權限,可以參考一下:   1. 新增使用者,並允許用某特定ip登入,不需用localhostmysql> use mysqlmysql> GRANT ALL ON *.* TO new_account_name@IP identified by ‘new_account_passward’;mysql> FLUSH PRIVILEGES; 2. 新增使用者,並允許用某特定ip登入,不需用localhost,且限定僅能連結單一資料庫(db_name)。mysql> use mysqlmysql> GRANT ALL ON db_name.* TO new_account_name@IP identified by ‘new_account_passward’;mysql> FLUSH PRIVILEGES;   […]