(三)设置mysql允许外部IP连接的解决方法及遇到的坑说明

用命令查询端口情况:netstat -an | grep LISTEN

发现mysql用到3306这个端口,只能被127.0.0.1访问(0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务)

网上查了一下默认情况下mysql只允许本地进入设置,如果需要外部IP连接到mysql,需要向mysql数据库里的“user”表里添加相关授权。

具体步骤:

1.授权

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%′ IDENTIFIED BY ‘newpwd’ WITH GRANT OPTION; 

2.刷新权限使其生效

mysql>flush privileges; 

之后去到user表查询已经有相关结果

3.去修改mysql配置文件。编辑my.cnf文件,注释掉bind-address           = 127.0.0.1

去查找my.cnf的时候发现在/etc/my.cnf 有,打开文件里面没有“bind-address           = 127.0.0.1”这一行,这时发现这个文件是之前卸载的时候没有删除干净的。那么my.cnf究竟在哪里呢?

可以查看mysql的配置文件启动列表

mysqld --help --verbose | less

按着这个顺序,我在/usr/local/etc/my.cof 找到了,注释掉bind-address           = 127.0.0.1 即可

4.重启mysql。

重启之后再检查一下mysql是否对外开放端口

netstat -an|grep 3306

搞定!!

原文地址:https://www.cnblogs.com/zmdComeOn/p/10376466.html

时间: 2024-10-09 07:38:28

(三)设置mysql允许外部IP连接的解决方法及遇到的坑说明的相关文章

20180601_设置mysql允许外部IP连接

设置mysql允许外部IP连接 Mysql安装成功之后,默认之能本地访问mysql数据库.如果其他电脑需要访问mysql数据库就需要进行授权访问. 操作步骤: -- 使用mysql数据库 use mysql; -- 查看是否只允许本机访问mysql select user,host from user; -- 授权指定ip访问mysql -- GRANT ALL PRIVILEGES ON *.* TO '用户名'@'ip地址' IDENTIFIED BY '密码' WITH GRANT OPT

SQL Server不能通过外部IP访问,解决方法

SQL Server不能通过外部IP访问,解决方法 版本:SQL server 2017 express with tools 打开配置管理器,开启 TCP,右键属性设置TCP端口: 设置节点: IP1 外部IP/服务器内网IP,比如我的用了192.168.3.101,若要外部访问则一定要用外网IP,并设置端口为1433 IP4 127.0.0.1,并设置端口为1433 IPALL,设置端口为1433 以下为截图: PS:另外配置更改保存后,一定要重启数据库服务器. 原文地址:https://w

centos里mysql无法用localhost连接的解决方法

遇到这个问题可能是由于我未安装在默认路径导致的 解决方法: 由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错 [[email protected] ~]# find / -name mysql.sock/var/lib/mysql/mysql.sock 1.直接指定mysql通道 [[email protected] ~]# mysql --socket=/var/lib/my

mysql 不能从远程连接的解决方法

如果你想连接你的mysql的时候发生这个错误:以下是引用内容: ERROR 1130: Host '192.168.9.1' is not allowed to connect to this MySQL server 解决方法:1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"

LIGHTSWITCH 连接 MYSQL,中文字符不能保存----解决方法。

使用:dotConnect for MySQL () 作为 数据库连接的PROVIDER ,  在 LIGHTSWITCH 中 引用外部的MYSQL 数据源. http://www.devart.com/dotconnect/mysql/      也有  postgre LS 项目没有使用:中文 ,而是使用 EN  产生?  后来修改了.只是 没有进一步测试. LIGHTSWITCH 连接 MYSQL,中文字符输入时,出现不能保存. 1) 检查 MYSQL 数据库及表.字段定义 ,都是:UTF

SQL Server 2005无法远程连接的解决方法

以前一直连接本地的数据库,连接SQL Server 2005是小菜的... 做项目也是老师搭好了服务器端,打上IP去访问就行...也不用考虑太多. 今天自己在公司搭SQL Server 2005服务器,客户端去访问问题就来了... 连接失败,SQL Server 2005不支持远程... 想想应该不会,于是想到老师以前说的,服务器端要做配置...哇哈哈!~~果然... 方法如下:  一.为 SQL Server 2005 启用远程连接 1. 单击"开始",依次选择"程序&qu

关于php读mysql数据库时出现乱码的解决方法

关于php读mysql数据库时出现乱码的解决方法 php读mysql时,有以下几个地方涉及到了字符集. 1.建立数据库表时指定数据库表的字符集.例如 create table tablename ( id int not null auto_increment, title varchar(20) not null, primary key ('id') )DEFAULT CHARSET =UTF8; 复制代码 2. mysql的字符集 mysql中有三个重要的变量,character_set_

[转]mysql导入导出数据中文乱码解决方法小结

本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 代码如下: mys

mysql执行show processlist unauthenticated user 解决方法

一台unibilling机器前几天突然负载变重. 在top中发现cpu被大量占用. agi程序运行的很慢,并出现僵尸进程. 其实当时只有50个左右的并发呼叫. 远远达不到正常水准. 重新启动机器问题也没得到解决. 非常奇怪. 考虑到在top中看到mysqld占用的资源最多,就进入mysql控制台,运行 show processlist命令, 发现某进程的信息很特殊:  代码如下 复制代码 User "unauthenticated user" Command "connect