CentOS7 开启 MySQL 远程访问

本文将介绍怎样在 CentOS7 中开启 MySQL5 的远程访问。

在 Linux 系统中,MySQL 默认只允许本机访问,如果想要让其他机器远程访问 MySQL,需要开启 MySQL 的远程访问权限。具体步骤如下:

修改 my.cnf 配置

使用 vim 编辑 /etc/my.cnf 文件,内容如下:

[mysql]
socket=/home/hxstrive/mysql5.7/mysql.sock
default-character-set=utf8mb4

[mysqld]
basedir=/home/hxstrive/mysql5.7
datadir=/home/hxstrive/mysql5.7/data
# port=3306
# server_id=2
socket=/home/hxstrive/mysql5.7/mysql.sock

default_storage_engine=innodb
character-set-server=utf8mb4
collation-server=utf8mb4_bin
lower_case_table_names=1
bind-address=127.0.0.1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/home/hxstrive/mysql5.7/data/mysqld.log
pid-file=/home/hxstrive/mysql5.7/mysqld.pid

找到如下行:

bind-address = 127.0.0.1

如果没有,则在 [mysqld] 下面添加如下行:

bing-address = 127.0.0.1

如果允许所有机器访问,则将 127.0.0.1 修改为 0.0.0.0 或者直接将本行注释掉即可。

如果仅仅允许指定的机器访问,则将 127.0.0.1 修改为特定的 IP 地址。

连接到 MySQL 服务

[hxstrive@localhost mysql5.7]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.7.40 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>

MySQL 授权

执行 “GRANT ALL PRIVILEGES ON *.* TO '用户名'@'访问IP' IDENTIFIED BY '密码' WITH GRANT OPTION;” 命令进行授权。其中,用户名为要创建的 MySQL 用户,访问 IP 为远程访问 MySQL 的 IP 地址或者使用 % 表示允许任何地址远程访问 MySQL。例如:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'aaaaaa' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

上面将授予 root 用户在任何机器上进行远程访问。

刷新权限

使用 “FLUSH PRIVILEGES” 刷新权限,例如:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

停止 MySQL 服务

[hxstrive@localhost mysql5.7]$ mysqladmin -h 127.0.0.1 -u root -p shutdown
Enter password:
2023-09-18T05:07:26.541140Z mysqld_safe mysqld from pid file /home/hxstrive/mysql5.7/mysqld.pid ended

重启 MySQL 服务

[hxstrive@localhost mysql5.7]$ mysqld_safe &
2023-09-18T05:05:37.816495Z mysqld_safe Logging to '/home/hxstrive/mysql5.7/data/mysqld.log'.
2023-09-18T05:05:37.918806Z mysqld_safe Starting mysqld daemon with databases from /home/hxstrive/mysql5.7/data
所谓天才,只不过是把别人喝咖啡的功夫都用在工作上了。——鲁迅
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号