你好,远程云主机上的MySQL有几种方式
公司主营业务:做网站、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出宜黄免费做网站回馈大家。
1、原生
mysqli_connect(host,username,password,dbname,port,socket);
2、框架
如ThinkPHP框架,在database.php中可以直接配置远程链接参数
// 服务器地址
'hostname' = '你的IP',
// 数据库名
'database' = '',
// 用户名
'username' = '',
// 密码
'password' = '',
// 端口
'hostport' = '',
// 连接dsn
其他的框架,您可以看下框架的手册,按照手册一步步来配置
希望对你有帮助!
和ASP+ACCESS不一样,其实你的PHP一直都是在操作远程数据库:
你的mysql_connect连接MYSQL数据库的时候,即使是本地数据库,程序也完全是和远程一样的操作:使用TCP连接你指定的服务器端口,127.0.0.1和data.baidu.com这样的主机,程序是完全相同的。
首先你要确定你远程的MYSQL开启了远程连接。
默认是不会开启的,一般情况也是不建议开启的,存在风险比较大。
默认都是服务器本机或者局域网连接使用。
进入服务器给mysql加上一个账号或者直接在你使用的账号上,连接地址localhost或者127.0.0.1改成%,就表示任何IP都可以连接了,这样就可以远程连接了。
建议用一些界面管理软件来修改比较直观一点,当然你熟悉命令也是可以用命令来修改的。
决方法:
1。
改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改
"mysql"
数据库里的
"user"
表里的
"host"
项,从"localhost"改称"%"
mysql
-u
root
-pvmwaremysqluse
mysql;mysqlupdate
user
set
host
=
'%'
where
user
=
'root';mysqlselect
host,
user
from
user;
2.
授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'%'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'192.168.1.3'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
对于PHP连接远程MySql数据库,通常要使用如下的语句:
var
$serverName
=
'db4free.net:3306';//数据库服务器
var
$dbName
=
'dbname';//数据库名
var
$dbUsername
=
'username';//用户名
var
$dbPassword
=
'123';//登陆密码
mysql_connect($serverName,$dbUsername
,$dbPassword);
mysql_select_db($dbName);
$conn=mysql_connect('主机','数据库名','密码'); 将’主机‘改为IP号,是可以远程访问数据库的。
前提是需要:
1、关闭所访问的主机的 防火墙。(不然其他用户无法访问主机)
2、设置主机上的 数据库的 访问权限,即 允许 其他用户访问 数据库。
MySql数据库的访问权限设置:在mysql命令行中输入命令 grant all on *.* to root@'%' identified by password; 其中password是数据库的密码。
3、该步骤最关键,得保证与主机之间的线路是通的(否则永远也连不上)。
看了,LZ提出的问题后,亲自编程序试了下,程序如下:
上述程序即可,用于测试。
如有问题,请再留言。