重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

怎么让mysql限制链接 mysql连接数

Linux下mysql允许远程连接怎么设置

本地计算机ip:192.168.1.100

创新互联是一家专业提供浑江企业网站建设,专注与网站设计、成都网站制作H5页面制作、小程序制作等业务。10年已为浑江众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

远程计算机ip:192.168.1.244

远程计算机打开 mysql 服务器:#/etc/init.d/mysql.server start

本地计算机连接远程 mysql服务器:./mysql -h "192.168.1.244" -u root -p

发生以下错误:

ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL server

出现这种情况是因为mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。

解决方法:

1,远程计算机(ip:192.168.1.244)执行如下:

开启服务器:/etc/init.d/mysql.server start

登陆服务器:bin/mysql -u root -p

使用服务器:mysql use mysql

创建远程登陆用户并授权 :

mysql grant all PRIVILEGES on test.* to andy@'192.168.1.100' identified by '123456';

上面的语句表示将 test 数据库的所有权限授权给 andy 这个用户,允许 andy 用户在 192.168.1.100这个 IP 进行远程登陆,并设置 andy 用户的密码为 123456 。

下面逐一分析所有的参数:

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

test.* 表示上面的权限是针对于哪个表的,test 指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

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

192.168.1.100 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

123456 为用户的密码。

执行了上面的语句后,再执行下面的语句,方可立即生效。

flush privileges;

2,本地计算机(ip:192.168.1.100):

执行如下:./mysql -h 192.168.1.244 -u andy -p 123456

显示如下:

怎么设置才能让外网ip可以访问mysql数据库

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了。

mysql 能不能对账号做权限设定, 让它查询的时候最多只能查询给定的条数限制,而不是查询出所有。

众所周知,mysql里面有很多权限,不同权限可以使用不同功能,今天就教大家怎么获取Mysql的root权限,也就是最高权限,可以做任何事情。

2

1.首先使用一个没有权限的账号链接mysql,成功之后执行:show databases;这时会发现没有权限的用户只能看到一个数据库,mysql和test等数据库是看不到的;

Mysql权限设置

Mysql权限设置

3

2.如果已经安装了phpmyadmin,打开127.0.0.1/phpmyadmin,在菜单栏找到用户,然后找到没有权限的用户,点击编辑权限;

Mysql权限设置

Mysql权限设置

Mysql权限设置

4

3.跳转到设置页面,找到全局权限,在全选checkbox打勾,点击右下角的执行,完成后该用户就获得了mysql数据库的所有权限;

Mysql权限设置

Mysql权限设置

5

4.再次用该账号再次链接mysql,链接成功后执行:show databases;你会发现所有数据库都会显示出来,而且使用该账号可以进行任意编辑;

Mysql权限设置


当前标题:怎么让mysql限制链接 mysql连接数
网址分享:http://cqcxhl.com/article/dogoigd.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP