首先你要確定你遠(yuǎn)程的MYSQL開啟了遠(yuǎn)程連接。
創(chuàng)新互聯(lián)主營(yíng)寧海網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),寧海h5小程序開發(fā)搭建,寧海網(wǎng)站營(yíng)銷推廣歡迎寧海等地區(qū)企業(yè)咨詢
默認(rèn)是不會(huì)開啟的,一般情況也是不建議開啟的,存在風(fēng)險(xiǎn)比較大。
默認(rèn)都是服務(wù)器本機(jī)或者局域網(wǎng)連接使用。
進(jìn)入服務(wù)器給mysql加上一個(gè)賬號(hào)或者直接在你使用的賬號(hào)上,連接地址localhost或者127.0.0.1改成%,就表示任何IP都可以連接了,這樣就可以遠(yuǎn)程連接了。
建議用一些界面管理軟件來修改比較直觀一點(diǎn),當(dāng)然你熟悉命令也是可以用命令來修改的。
決方法:
1。
改表法??赡苁悄愕膸ぬ?hào)不允許從遠(yuǎn)程登陸,只能在localhost。這個(gè)時(shí)候只要在localhost的那臺(tái)電腦,登入mysql后,更改
"mysql"
數(shù)據(jù)庫(kù)里的
"user"
表里的
"host"
項(xiàng),從"localhost"改稱"%"
mysql
-u
root
-pvmwaremysqluse
mysql;mysqlupdate
user
set
host
=
'%'
where
user
=
'root';mysqlselect
host,
user
from
user;
2.
授權(quán)法。例如,你想myuser使用mypassword從任何主機(jī)連接到mysql服務(wù)器的話。
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'%'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機(jī)連接到mysql服務(wù)器,并使用mypassword作為密碼
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'192.168.1.3'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
在php中如果要連接遠(yuǎn)程數(shù)據(jù)庫(kù)連接方法很簡(jiǎn)單,只要把本地連接localhost或127.0.0.1改成指定遠(yuǎn)程服務(wù)器一IP地址或者直接域名即可。
語(yǔ)法
mysql_connect(servername,username,password);
例子
在下面的例子中,我們?cè)谝粋€(gè)變量中?($con)?存放了在腳本中供稍后使用的連接。如果連接失敗,將執(zhí)行?"die"?部分:
代碼如下:
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
//?some?code
?
上面是連接本地?cái)?shù)據(jù)庫(kù),下面把localhost改成遠(yuǎn)程IP即可了
實(shí)例 代碼如下:
$conn=mysql_connect('','root','123456888');
if(!$conn)?echo?"失敗!";
else?echo?"成功!";
//?從表中提取信息的sql語(yǔ)句
$sql="SELECT?*?FROM?user?where?userName='$user_name'";
//?執(zhí)行sql查詢
$result=mysql_db_query('info',?$sql,?$conn);
//?獲取查詢結(jié)果
$row=mysql_fetch_row($result);
mysql_close();
$conn=mysql_connect('主機(jī)','數(shù)據(jù)庫(kù)名','密碼');?將’主機(jī)‘改為IP號(hào),是可以遠(yuǎn)程訪問數(shù)據(jù)庫(kù)的。
前提是需要:
? ? ?1、關(guān)閉所訪問的主機(jī)的?防火墻。(不然其他用戶無(wú)法訪問主機(jī))
? ? ?2、設(shè)置主機(jī)上的?數(shù)據(jù)庫(kù)的?訪問權(quán)限,即?允許?其他用戶訪問?數(shù)據(jù)庫(kù)。
? ? ? ? ? MySql數(shù)據(jù)庫(kù)的訪問權(quán)限設(shè)置:在mysql命令行中輸入命令? grant?all?on?*.*?to?root@'%'?identified?by?password;? ? ?其中password是數(shù)據(jù)庫(kù)的密碼。
? ? ? 3、該步驟最關(guān)鍵,得保證與主機(jī)之間的線路是通的(否則永遠(yuǎn)也連不上)。
看了,LZ提出的問題后,親自編程序試了下,程序如下:
上述程序即可,用于測(cè)試。
如有問題,請(qǐng)?jiān)倭粞浴?/p>
新聞名稱:php連遠(yuǎn)程數(shù)據(jù)庫(kù) php7連接數(shù)據(jù)庫(kù)
文章出自:http://weahome.cn/article/ddjiicp.html