是root用户的话,IP就是<localhost>或<127.0.0.1>,只是代表使用本机,不是代表本机IP地址, *** 作方法如下:
1、首先,利用Navicat创建一个数据库和表,数据库名为testdb,表为userinfo,并添加一条新记录。
2、用如下的数据库连接字符串访问数据库时,是没有问题的。Driver = MySQL ODBC 5.1 DriverServer = localhostPort=3306DATABASE = testdbuser = rootpassword = 123456。
3、其中,Server是数据库所在主机IP地址,Prot是连接端口;user和password则为连接数据库的用户名和密码,使用Select * from userinfo 可以正确获取到数据。
4、但是当把localhost换成实际的IP地址的时候,就报错了,说明这个数据库testdb是默认没开启访问权限的,默认情况下只允许localhost和127.0.0.1访问。
5、更新root账户的权限。打开mysql命令行窗口,输入grant all privileges on *.* to root@"%" identified by 'abc' with grant option flush privileges。
6、创建一个新账户,如guest,并将可被访问的主机定义为%,即所有主机都可访问该账户。测试,没有问题。
1.改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql"
数据库中
"user"
表里的
"host"
字段,把"localhost"改称"%",即可。
mysql
-u
root
-pvmwaremysql>use
mysqlmysql>update
user
set
host
=
'%'
where
user
=
'root'mysql>select
host,
user
from
user
2.授权法。例如,你想用户myuser使用密码mypassword通过ip地址连接到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
'myuser'@'192.168.1.3'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION
需要知道数据库主机的IP地址,数据库端口号,服务名称,数据库账户及密码才可以连接。1、首先在本地oracle的安装目录下找到找到tnsnames.ora文件。一般路径为:~\oracle\product\10.2.0\db_1\network\ADMIN
2、用文本方式打开此路径下的tnsnames.ora文件,并添加以下内容:
本地实例名(可自定义应为+数字) =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 数据库端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 数据库服务名)
)
)
3、保存上述内容,然后打开第三方工具,如plsql。就会在数据库的下拉列表中找到刚添加的数据库实例。
4、用正确的账户名及密码登录,就可以连接成功。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)