解决mysql中只能通过localhost访问不能通过ip访问的问题

Mysql 默认是没有开启这个权限的(只允许使用 host:localhost,或者 host:127.0.0.1),如果想用  host:192.168.1.* ,来访问mysql ,需要手动开启这个权限进入Mysql终端输入这个命令

1.打开cmd窗口,进入MySql安装的bin目录

2.执行命令登录数据库,之后会出现一行要你输入密码的

mysql -u root -p

3.执行以下命令分配新用户:

grant all privileges on *.* to ‘用户名‘@‘IP地址‘ identified by ‘密码‘;

4.执行完上述命令后用下面的命令刷新权限

flush privileges;

5.之后关闭mysql服务,然后启动mysql服务,大功告成

===================================================================================

这是一中快速配置方法:

帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 或添加一个用户为“%”  。

想让局域网中的所有机器都能连接MySQL数据库,首先要给MySQL开启远程连接的功能,在MySQL服务器控制台上执行MySQL命令:

grant all privileges on *.* to [email protected]"%" identified by ‘abc‘ with grant option;  
flush privileges;

其中上面两行代码的意思是给从任意ip地址连接的用户名为root,密码为abc的用户赋予所有的权限。其中的"%"为任意的ip地址,如果想设为特定的值也可以设定为特定的值(以通配符%的内容增加主机/IP地址,也可以直接增加IP地址)。

做完这些之后,局域网内的mysql服务器可以访问了。

原文地址:https://www.cnblogs.com/summary-2017/p/8463438.html

时间: 2024-07-30 17:59:08

解决mysql中只能通过localhost访问不能通过ip访问的问题的相关文章

nginx只允许域名访问,禁止ip访问

背景:为什么要禁止ip访问页面呢?这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被断网,我们可以通过禁止使用ip访问的方法,防止此类事情的发生. 解决方法:这里介绍修改配置文件nginx.conf两种方法:1)在server段里插入如下正则:listen       80;server_name  www.yuyangblog.net;if ($host != 'www.yuyangblog.net'){   return 403;} 2)添加一个server新加的se

如何解决Mysql中忘记root密码的情况

方法一: MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器: safe_mysqld --skip-grant-tables& 即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库. 需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效 方法二: 可以进行如下的步骤重新设置MySQL的root密码: 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码

解决mysql中无法显示中文的一个实例

1 登录数据库 amp1:~ # mysql -uroot -pmysql.rzrk Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2132 Server version: 5.0.95-log SUSE MySQL RPM Type 'help;' or '\h' for help. Type '\c' to clear the current input statem

解决mysql中limit和in不能同时使用的问题

先给出数据表 CREATE TABLE `test_tb_grade` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) DEFAULT NULL, `COURSE` varchar(20) DEFAULT NULL, `SCORE` float DEFAULT '0', PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8

如何解决mysql中读取含表情符号的内容无法识别的问题

当内容中包含有表情符号的时候,写入mysql时一般会设置字段或者表的charset为utf8mb4的形式: ALTER TABLE table_name MODIFY colum_name VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci 或者: ALTER TABLE table_name CHARSET=utf8mb4; 那么在读取和写入相关数据时,也需要在执行语句前先执行: SET NAMES utf8mb4 这样才

【MySQL】如何解决MySQL中查询不区分大小写的问题

mysql查询默认是不区分大小写的 如: select * from some_table where str=‘abc'; select * from some_table where str='ABC'; 得到的结果是一样的,如果我们需要进行区分的话可以按照如下方法来做: 第一种方法:要让mysql查询区分大小写,可以: select * from some_table where binary str='abc' select * from some_table where binary

VS 2015 localhost访问有效 改用 IP访问 400错误 invalid hostname 修改方法

今天新起站点发现在Chrome浏览器中,通过localhost访问是有效的,但是通过本机IP甚至127.0.0.1访问无效, 报的错误是400 Bad Request Invalid HostName 这样站点通过两台计算机访问,调试就遇到不小的阻力 解决方法如下: 1.在状态栏中,选择IISPress站点,右键选择显示所有应用程序 2.单击站点名称,在下面提示的路径中选择配置路径,打开applicationhost.config文件 3.在打开的文件中找到当前站点在Binding配置节中加上如

Entity Framework 6 Code First 系列:无需修改实体和配置-在MySql中使用和SqlServer一致的并发控制

无需修改实体和配置,在MySql中使用和SqlServer一致的并发控制.修改RowVersion类型不可取,修改为Timestamp更不可行.Sql Server的RowVersion生成一串唯一的二进制保证Row的版本,无关TimeStamp,更无论TimeStamp的精度问题.使用MySql触发器只能解决uuid的插入的默认值和更新的随机值,由于MySql的自身为了防止无限递归的策略,它的触发器无法在当前表的触发器中更新当前表,所以触发器无法实现更新在SqlServer中由数据库生成的Ro

Nginx禁止ip访问或IP网段访问方法

Nginx禁止ip访问可以防止指定IP访问我们的网站,本例子可以实现是防止单IP访问或IP网段访问了,非常的有用我们一起来看看吧. 常用的linux做法 iptables参考规则  代码如下 复制代码 iptables -I INPUT -p tcp –dport 80 -m –mac-soruce$MAC -j DROP 基于mac地址的iptables -I INPUT -p tcp –dport 80 -s $IP -j DROP 基于ip地址的 方法一, 首先建立下面的配置文件放在ngi