怎样设置才能允许外网访问MySQL

怎样设置才能允许外网访问MySQL,第1张

设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.

1:设置mysql的配置文件

/etc/mysql/my.cnf

找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;

重启mysql:/etc/init.d/mysql restart

2:登录mysql数据库:mysql -u root -p

mysql>use mysql

查询host值:

mysql>select user,host from user

如果没有"%"这个host值,就执行下面这两句:

mysql>update user set host='%' where user='root'

mysql>flush privileges

或者也可以执行:

mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx'

其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;

‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;

后面到‘xxxx'为root 用户的password;

举例:

任意主机以用户root和密码mypwd连接到mysql服务器

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION

mysql>flush privileges

IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION

mysql>flush privileges

1、首先检查mysql所在服务器的防火墙,如果限制了外网对3306端口的连接,那么放开限制

Linux服务器中执行

iptables -L 可以查看当前的防火墙规则

iptables -F 可以清空所有防火墙规则

2、确保mysql的监听地址是0.0.0.0

监听地址是0.0.0.0 ,表示该mysql允许所有IP地址进行连接,这是允许远程连接的基础

监听地址是127.0.0.1,则代表该mysql只允许所在服务器本机连接,外网是无法连接的

怎么知道mysql的监听地址是多少

Linux服务器中执行如下命令可以查看:netstat -nutlp|grep mysql

3、添加远程连接mysql的账号

此步骤是必须要 *** 作的,mysql本身的用户只能在本机上连接数据库,外网连接的话,需要先添加远程用户并授权。

在mysql命令行模式下,或者phpmyadmin中执行sql语句添加远程连接用户

>grant all on *.* to root@'%' identified by '123456'

>flush privileges

命令解释:

*.* 第一个*表示库,第二个*表示表*.*对全部数据库的全部表授权,so.ok 表示只对so这个库中的ok表授权

root表示要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的

'%' 表示允许远程连接的IP地址,%代表允许所有IP连接

只允许某个IP远程连接,可以写成'123.123.123.123'

只允许123.123.123.*这个网段远程连接,可以写成 '123.123.123.%' '123456' 是设置授权用户的连接密码

flush privileges 代表立即刷新权限表,使添加的用户生效

上面三步都设置好了,就可以再次尝试远程连接mysql了。

并且须提供远程访问和1433口打开.

参考2005的.Sql Server 2005的1433端口打开和进行远程连接

如何打开sql server 2005 的1433端口

配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议

看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,

"已启用"改为"是"

配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP

选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"

SQL Server 2005 远程连接

配置TCP/IP属性.

Surface Area Configuration -->Database Engine -->Remote Connections --->Using TCP/IT

SQL Server 外围应用配置器—服务和连接外围配置—database englie—远程连接—启用(远程连接的TCP/IP和named pipes)

SQL Server Configuration Manager—SQL2005网络配置—启用TCP/IP和named pipes

-----------------------------------------------------------------------------------------

一般按如上即可.

其他说明见下:

sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器,微软的官方网站有

下,安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。

1. 开启sql2005远程连接功能,开启办法如下,

配置工具->sql

server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine

节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了.

2.登陆设置改为,Sql server and windows Authentication方式同时选中,具体设置如下:

manage管理器->windows

Authentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属

性>security>Sql server and windows Authentication方式同时选中.

3:设置一个Sql server方式的用户名和密码,具体设置如下:

manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'

这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式,

用户名为sa ,密码为:sa123456的用户进数据库了.

4: 做完上面三步后,这样写连接字符串就可以顺利进入数据库了,

(server=.\\sqlexpressuid=sapwd=sa123456database=master"

其它版本,做如下设置

程序—Microsoft SQL Server 2005—配置工具—SQL Server 外围应用配置器—服务和连接的外围应用配置器—

1、MSSQLserver(实例名)—DataBase Engine—远程连接—(设置选项)

在下方选项

2、SQL Server Browser—服务(停止时只本机访问)

3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—网络连接协议-选择实例对应协议—启用(shard memory、Named Pipes、TCP\IP)

注: SQL Server 浏览器程序以服务的形式在服务器上运行。SQL Server 浏览器侦听对 Microsoft SQL Server 资源的传入请求,

并提供计算机上安装的 SQL Server 实例的相关信息。

SQL Server 浏览器可用于执行下列三种 *** 作:

浏览可用服务器

连接到正确的服务器实例

连接到专用管理员连接 (DAC) 端点

SQL Server Browser 服务 (sqlbrowser) 为数据库引擎 和 SSAS 的每个实例提供实例名称和版本号。

SQL Server 浏览器随 Microsoft SQL Server 2005 一起安装,

为该计算机上运行的早期版本的 SQL Server(从 Microsoft SQL Server 7.0 开始)提供此服务。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9930627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存