MYSQL数据库如何赋予远程某个IP访问权限
你的MYSQL数据库里面有一个数据库,名字教做mysql,里面有个表,名字叫做user,你看一下这个表的结构和现有数据,你就知道应该怎么做了,比如你可以添加一条数据,Host为你指定的IP,user可以是%,password就不管了,后面设置相应的权限(可以全部都是Y),这样那个机器无论用什么用户和密码都可以连接数据库,而拥有你指定的权限。
耐心点吧,我相信你一看就明白。
MYSQL中的服务器地址就是服务器的IP地址。
如图所示,其中标红位置就是服务器地址的填写位置,一般可写主机名称或IP地址。
IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
1、查一下mycnf里有没有配置IP
例如bind-address=19216811
2、查一下主机名和IP的对应有没有地方没有修改
比如:/etc/hosts
3、读一下err或mysqldlog日志
是root用户的话,IP就是<localhost>或<127001>,只是代表使用本机,不是代表本机IP地址,操作方法如下:
1、首先,利用Navicat创建一个数据库和表,数据库名为testdb,表为userinfo,并添加一条新记录。
2、用如下的数据库连接字符串访问数据库时,是没有问题的。Driver = MySQL ODBC 51 Driver; Server = localhost; Port=3306; DATABASE = testdb; user = root; password = 123456。
3、其中,Server是数据库所在主机IP地址,Prot是连接端口;user和password则为连接数据库的用户名和密码,使用Select from userinfo 可以正确获取到数据。
4、但是当把localhost换成实际的IP地址的时候,就报错了,说明这个数据库testdb是默认没开启访问权限的,默认情况下只允许localhost和127001访问。
5、更新root账户的权限。打开mysql命令行窗口,输入grant all privileges on to root@"%" identified by 'abc' with grant option; flush privileges。
6、创建一个新账户,如guest,并将可被访问的主机定义为%,即所有主机都可访问该账户。测试,没有问题。
面开始安装征途私服相关架设工具
一 安装MYSQL 先解压下载后的服务端,里面包含MYSQL,以及服务端各种所需软件
这里是设置MYSQL的密码,我这里设置1234 安装完成
二 接下来安装OBC数据源
三 安装MYSQL中文管理工具,里面有注册用户名和注册码,这里填你安装MYSQL时所填的密码
注意,这里数据库名称请和这个对应,下面先解压数据库文件,然后把这个文件目录复制,这是征途的数据库,放到你MYSQL目录下面data目录下,然后大家连接数据库
四 接下来安装注册页面,用到IIS,IIS我已经安装好了在注册程序里面有一个文件要和你所填的MYSQL密码是一致
添加 ,IIS来宾帐号,不然在NTFS,不能运行的,
这个需要勾上,不然,注册的时候的验证码,无法显示
我们来看看注册网站,
五 配置服务端,把nserver放到D盘,你可以手动修改IP,我们用替换工具替换。
把所以XML里面涉及到 1921680222的IP改成你本机外网IP,
另外数据库里面也要修改,这是MYSQL管理工具,
然后保存,数据
手动修改数据库的IP地址是 serverlist 这个库,
现在就可以启动服务端了,,,,,,,,
点,启动。BAT
启动,完毕,后就会提示,可以游戏,,,,,,
这样服务端架设就完成了,,,,,,,,
很显然是你数据库有问题的
就是说sql没装好
重新弄下
1、首先检查mysql所在服务器的防火墙,如果限制了外网对3306端口的连接,那么放开限制
Linux服务器中执行
iptables -L 可以查看当前的防火墙规则
iptables -F 可以清空所有防火墙规则
2、确保mysql的监听地址是0000
监听地址是0000 ,表示该mysql允许所有IP地址进行连接,这是允许远程连接的基础
监听地址是127001,则代表该mysql只允许所在服务器本机连接,外网是无法连接的
怎么知道mysql的监听地址是多少
Linux服务器中执行如下命令可以查看: netstat -nutlp|grep mysql
3、添加远程连接mysql的账号
此步骤是必须要操作的,mysql本身的用户只能在本机上连接数据库,外网连接的话,需要先添加远程用户并授权。
在mysql命令行模式下,或者phpmyadmin中执行sql语句添加远程连接用户
> grant all on to root@'%' identified by '123456';
> flush privileges;
命令解释:
第一个表示库,第二个表示表; 对全部数据库的全部表授权,sook 表示只对so这个库中的ok表授权
root 表示要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的
'%' 表示允许远程连接的IP地址,%代表允许所有IP连接
只允许某个IP远程连接,可以写成'123123123123'
只允许123123123这个网段远程连接,可以写成 '123123123%' '123456' 是设置授权用户的连接密码
flush privileges; 代表立即刷新权限表,使添加的用户生效
上面三步都设置好了,就可以再次尝试远程连接mysql了。
0条评论