当前位置:首页 » 密码管理 » mysql关闭远程访问权限

mysql关闭远程访问权限

发布时间: 2023-01-07 00:09:41

① windows远程连接Mysql失败

MySQL我用的是apt安装的,有很多问题,建议大家用二进制程序安装。

问题描述
在服务器上登录MySQL只能用本地的127.0.0.1地址,用服务器本身地址会提示拒绝访问

尝试修改MySQL远程访问权限

修改后发现没有用,MySQL依然拒绝远程访问
查看3306端口
root@sfpql:~# netstat -an|grep 3306

修改MySQL服务地址:

尝试远程连接
telnet sfpql 3306

结语
MySQL远程连接不上是常见问题,一般设置好MySQL的远程访问权限就可以了。
apt安装的MySQL会自己将启动地址设置在本地,同时apt安装的MySQL的服务查看命令是 systemctl status mysql 其他安装方式的常看命令是 systemctl status mysqld

② mysql root 关闭远程访问

停止mysql服务,然后用下面的方式启动mysql:

mysqld --skip-grant-tables

mysqld-nt --skip-grant-tables

(以上2个命令根据不同版本选择其中一个合适的运行就可以)

然后就用mysql客户端直接服务器本地登陆mysql(不用密码的),然后增加本地的登陆帐号即可:

grant all on *.* to 'root'@'localhost' IDENTIFIED BY '密码' with grant option;
flush privlieges;

grant all on *.* to 'root'@'127.0.0.1' IDENTIFIED BY '密码' with grant option;
flush privlieges;

接着kill掉上面启动的mysql服务进程,重新按平时正常的方式启动mysql即可.

③ mysql 设置远程访问权限 需要重启吗

需要重启mysql的。
1、转到/etc/mysql/mysql.conf.d文件夹
cd /etc/mysql/mysql.conf.d

2、打开mysql.cnf文件
vim mysqld.cnf

3、按i对文件进行编辑,找到bind-address = 127.0.0.1 这一行

在其最前便加一个 # ,将其注释掉,然后保存退出。

4、通过service脚本重启mysql服务
service mysql restart

5、登录进MySQL执行下面的SQL语句,对root账户进行授权,允许任何IP地址的计算机都可以用root账户和密码(root)来访问MySQL服务器

④ MYSQL远程访问问题,没有权限。

默认账号只能本地访问,需要添加远程用户
语法如下
GRANT [privilage] ON [database Name].[Table Name] TO [User Name]@"[Server IP]" IDENTIFIED BY '[User Password]';

例:
比如添加远程用户为abcde,密码为abcde
GRANT ALL PRIVILEGES ON *.* TO abcde@"%" IDENTIFIED BY 'abcde' WITH GRANT OPTION;
%代表不限制远程ip
with grant option代表可以为其他用户授权,如不需要可不加。

⑤ mysql无法远程连接,本地可以

查看MySQL进程是否正常,可以阿里云服务器 ECS 服务器上输入:ps -ef|grep mysqld

mysqld_safe和mysqld都在,说明MySQL进程是正常,若没有这两进程,执行/etc/init.d/mysqld start,启动msyql。
MySQL在本地能连接上,远程连接不上的解决办法

查看mysql监听IP和端口是否正常。

使用:netstat -anpt

监听得地址如果是:::3306或者是0.0.0.0:3306,表示监听所有IP地址,这监听状态是正常。若出现127.0.0.0:3306,说明监听的本地地址,需要在mysql配置文件中将bind-address选项设置为bind-address = 0.0.0.0,重启mysql。
MySQL在本地能连接上,远程连接不上的解决办法

查看用于远程访问的mysql用户权限是否正确。

在本地登入mysql服务器,

use mysql;

SELECT user, host from mysql.user; 查看用于远程访问的mysql用户host的权限,%表示允许所有机器访问。若host为127.0.0.1/localhost,那么这个用户就只能本机访问,则需要将host改为%,可以使用update user set host='%' where user='root';
MySQL在本地能连接上,远程连接不上的解决办法
MySQL在本地能连接上,远程连接不上的解决办法

若以上操作都正常,还是远程还是不能访问的话,可以使用tcpmp在服务器端抓一下3306端口,看是否有数据包,排查以下网络原因。

在服务上输入抓包命令:tcpmp port 3306

然后远程连接mysql数据库,看一下服务端是否有数据包。
MySQL在本地能连接上,远程连接不上的解决办法

如果没有数据包,查一下阿里云服务器 ECS下的安全组件中的配置
MySQL在本地能连接上,远程连接不上的解决办法

若安全组件中的配置中,入口未对数据库服务监听的3306端口放开,则需要将3306端口放开。如下图,并没有3306端口,则表示未放开该端口。
MySQL在本地能连接上,远程连接不上的解决办法
MySQL在本地能连接上,远程连接不上的解决办法

在阿里云服务器 ECS下的安全组件中的配置,放开3306端口。单击添加安全组规则,如下图:
MySQL在本地能连接上,远程连接不上的解决办法
MySQL在本地能连接上,远程连接不上的解决办法

⑥ mysql怎么设置不允许外部连接

首先看报错窗口。

2
经查阅,错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。
于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限。
3
首先远程连接进入服务器,在cms中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。

4
输入use mysql;

5
输入select user,password,host from user;
可以看到host中只有localhost主机。我们需要将xxx.xxx.xxx.xxx也添加到这里才对。

6
添加方法如下:
输入
grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "密码";
这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。
然后再输入
flush privileges;
这相当于是重新加载一下mysql权限,这一步必须有。

7
再次输入select user,password,host from user;
可以看到host中已经有了新加的IP。

8
现在再次用Navicat for MySQl访问远程mysql数据库,已经能正常打开了。
问题解决。

9
不过还有一个问题,发现双击打开某张表的时候很慢,至少要3秒。
原因是:
当远程访问mysql时, mysql会解析域名, 所以会导致访问速度很慢, 会有2,3秒延时!
解决办法:
修改mysql安装目录下的my.ini,加上下面这个配置可解决此问题。在[mysqld]下加入:skip-name-resolve
保存退出后重启mysql服务。
然后访问速度就和本地一样快啦。

⑦ centos7安装的mysql怎么远程连接

1.安装MySQL
CentOS7中默认安装了MySQL系列的数据库,需要先卸载掉。
查看当前安装的mariadb包:
[root@bogon desktop]# rpm -qa | grep mariadb
将它们统统强制性卸载掉:
[root@bogon 桌面]# rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
在官网下载RPM安装包,http://dev.mysql.com/downloads/mysql/,下载完成后解压
双击安装MySQL-server,MySQL-client和MySQL-devel三个安装包。

2. 启动MYSQL
[root@bogon desktop]#service mysql start
得到错误:ERROR!The server quit without updating PID file
我们这里主要是因为:selinux惹的祸,如果是centos系统,默认会开启selinux。解决方法是关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器。
然后再启动mysql就没问题了:
[root@bogon desktop]#service mysql start
查看MySQL运行状态:
[root@bogon desktop]# service mysql status
SUCCESS! MySQL running (2377)

3. 设置密码
安装之后root用户默认没有密码,通过命令设置密码。
[root@bogon desktop]# /usr/bin/mysqladmin -u root password 'passok'
然后设置root用户的远程访问权限
在mysql控制台执行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

4.开启远程连接
需要安装iptables,
yum install -y iptables
然后编辑系统的开放端口列表,增加3306端口,重启防火墙即可。

⑧ 怎么设置mysql服务器要设置远程ip访问权限

你的MYSQL数据库里面有一个数据库,名字教做mysql,里面有个表,名字叫做user,你看一下这个表的结构和现有数据,你就知道应该怎么做了,比如你可以添加一条数据,Host为你指定的IP,user可以是%,password就不管了,后面设置相应的权限(可以全部都是Y),这样那个机器无论用什么用户和密码都可以连接数据库,而拥有你指定的权限。

耐心点吧,我相信你一看就明白。
参考资料: http://blog.chinaunix.net/u2/73743/showart_1094545.html

⑨ MySQL数据库不允许从远程访问怎么办

本文提供了三种解决方法:
1、改表法。可能匙你d帐号不允许从远程登陆,只能在localhost。这个时候只要在localhostd那台电脑,登入mysql后,更改
"mysql"
数据库里d
"user"
表里d
"host"
项,从"localhost"改称"%"
mysql
-u
root
-pvmwaremysql>use
mysql;
mysql>update
user
set
host
=
'%'
where
user
=
'root';
mysql>select
host,
user
from
user;
2、授权法。
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'%'IDENTIFIED
BY
'mypassword'
WI
TH
GRANT
OPTION;
如果你想允许用户myuser从ip为192.168.1.6d主机连接到mysql服务器,并使用mypassword作为密码
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'192.168.1.3'IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
我用d第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句
mysql>FLUSH
RIVILEGES
使修改生效,就可以了
另外一种方法:
在安装mysqld机器上运行:
1、d:/mysql/bin/>mysql
-h
localhost
-u
root
//这样应该可以进入MySQL服务器
2、mysql>GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'%'WITH
GRANT
OPTION
//赋予任何主机访问数据d权限
3、mysql>FLUSH
PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
这样就可以在其它任何d主机上以root身份登录啦。

⑩ 如何设置mysql远程访问及防火墙设置

打开mysql服务器,然后使用下面的命令模式:
mysql>usemysql;
mysql>GRANTALLON*.*TOadmin@'%'IDENTIFIEDBY'admin'WITHGRANTOPTION;

热点内容
diy源码 发布:2025-08-21 02:42:36 浏览:479
信息存储与信息检索 发布:2025-08-21 02:22:32 浏览:122
android异步数据加载数据 发布:2025-08-21 02:09:33 浏览:245
凯美瑞20e配置怎么样 发布:2025-08-21 02:08:43 浏览:504
云服务器停止运行 发布:2025-08-21 02:03:55 浏览:805
如何把手机相册加密码 发布:2025-08-21 01:58:14 浏览:211
开缓存 发布:2025-08-21 01:51:38 浏览:667
编程自行车 发布:2025-08-21 01:45:24 浏览:156
杀毒软件解除ftp连接 发布:2025-08-21 01:45:14 浏览:472
安卓手机怎么提取音频做铃声 发布:2025-08-21 01:43:58 浏览:201