zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL禁止远程登陆(mysql不允许远程登录)

mysql 远程 登录 禁止 允许 远程登陆
2023-06-13 09:11:25 时间

MySQL:禁止远程登陆

MySQL是一种常用的数据库管理系统,许多人会将其用于网站或者应用程序中。但是,在一些情况下,我们希望只允许本地访问MySQL,而禁止外部远程访问,这样可以提高数据库的安全性。那么,如何禁止MySQL的远程登陆呢?本文将介绍两种方法。

方法一:修改my.cnf配置文件

这是一种比较简单的方法,只需要修改MySQL的配置文件,即可禁止远程登陆。

使用root用户登录MySQL,执行以下命令:

$ mysql -u root -p

接着,打开my.cnf文件,该文件通常位于/etc/mysql/或者/etc/mysql/mysql.conf.d/目录下。

$ sudo vim /etc/mysql/my.cnf

在文件末尾,添加如下两行代码:

bind-address = 127.0.0.1
skip-networking

其中,bind-address指定MySQL绑定的IP地址,127.0.0.1表示只允许本地访问。skip-networking则禁止所有网络连接,只能通过Unix socket连接。保存文件并重启MySQL。

$ sudo service mysql restart

这样,除了本地用户外,其他用户将无法远程登录MySQL。

方法二:修改MySQL用户表

如果你不想修改my.cnf配置文件,也可以通过修改MySQL用户表的方式来禁止远程登陆。

同样地,使用root用户登录MySQL,执行以下命令:

$ mysql -u root -p

然后,选择要禁止远程访问的用户,例如root用户:

mysql use mysql;
mysql SELECT User, Host FROM user;+------------------+----------------+
| User | Host |+------------------+----------------+
| root | localhost || root | 127.0.0.1 |
| debian-sys-mnt | localhost || mysql.session | localhost |
| mysql.sys | localhost || root | ::1 |
| | localhost || root | 192.168.1.100 |
+------------------+----------------+8 rows in set (0.00 sec)

接着,用下面的命令来删除该用户在远程地址上的授权:

mysql DELETE FROM user WHERE User = "root" AND Host = "192.168.1.100";
Query OK, 1 row affected (0.00 sec)

如果要禁止所有用户的远程访问,只需执行以下命令:

mysql DELETE FROM user WHERE Host = "%";
Query OK, 3 rows affected (0.00 sec)mysql FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

其中,%表示任意主机,这样就删除了所有用户在任意主机上的授权。最后一条命令FLUSH PRIVILEGES用于使修改生效。

如果需要允许某个用户的远程访问,可以重新授权:

mysql GRANT ALL PRIVILEGES ON *.* TO "root"@"192.168.1.100" IDENTIFIED BY "password" WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

其中,root表示用户名,192.168.1.100为远程地址,password为该用户的密码,WITH GRANT OPTION表示该用户可以授权给其他用户。

总结

禁止MySQL的远程登陆可以提高数据库的安全性,本文介绍了两种方法。第一种方法是修改my.cnf配置文件,只需要添加bind-address和skip-networking两行代码即可。第二种方法是修改MySQL用户表,可以选择禁止某个用户在远程地址上的授权,也可以删除所有用户在任意主机上的授权。无论采用哪种方法,都需要注意不要授权给不必要且不可信的用户,保证数据库的安全性。


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 MySQL禁止远程登陆(mysql不允许远程登录)