MySQL8设置允许远程连接

本文详细介绍如何在MySQL中创建远程连接用户,并为该用户授予特定数据库的所有表操作权限,包括创建用户、设置密码、授权及刷新权限等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建一个远程连接用户,‘hadoop’@’%’(hadoop是用户名,%是允许任意远程主机连接)

mysql> create user 'hadoop'@'%' identified by '123456';
Query OK, 0 rows affected (0.08 sec)

mysql> grant all PRIVILEGES on hadoop.* to 'hadoop'@'%' with grant option;
Query OK, 0 rows affected (0.09 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

mysql>

允许本地连接

mysql> create user 'hadoop'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.13 sec)

mysql> grant all PRIVILEGES on hadoop.* to 'hadoop'@'localhost' with grant option;
Query OK, 0 rows affected (0.10 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.18 sec)

mysql>

备注:hadoop.* 中hadoop是数据库名称,*是任意表名,即表示将hadoop数据库的所有表操作权限授予

参考

### MySQL 8.0 远程连接设置教程 #### 修改 MySQL 配置文件 在 Linux 系统中,MySQL 的配置文件通常位于 `/etc/mysql/mysql.conf.d/mysqld.cnf`。需要编辑该文件以允许远程连接。具体操作如下: ```bash cd /etc/mysql/mysql.conf.d vim mysqld.cnf ``` 找到 `bind-address = 127.0.0.1`,将其注释掉,并替换为以下内容: ```ini bind-address = 0.0.0.0 ``` 这一步是关键,确保 MySQL 监听所有网络接口[^1]。 #### 重启 MySQL 服务 完成配置文件修改后,需要重启 MySQL 服务以使更改生效: ```bash service mysql restart ``` #### 创建用户并授权 接下来,在 MySQL 命令行中创建一个可以远程访问的用户,并授予其权限: ```sql CREATE USER 'demo'@'%' IDENTIFIED BY '111111'; GRANT ALL PRIVILEGES ON *.* TO 'demo'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 上述命令中,`demo` 是用户名,`%` 表示可以从任意 IP 地址连接,`111111` 是密码。如果遇到权限不足的问题,可能需要检查当前用户的权限是否包含 `SYSTEM_USER`[^2]。 #### 测试远程连接 使用以下命令测试远程连接是否成功: ```bash mysql -h192.168.xx.xx -P3306 -udemo -p111111 ``` 将 `192.168.xx.xx` 替换为服务器的实际 IP 地址。 #### 注意事项 - 如果防火墙启用,需要开放 MySQL 默认端口(3306)。 - 在生产环境中,建议限制用户的访问范围,例如将 `%` 替换为具体的 IP 地址或子网。 ```bash sudo ufw allow 3306/tcp ``` #### 示例代码 以下是一个完整的脚本示例,用于自动化配置过程: ```bash # 修改配置文件 sed -i 's/^bind-address/#bind-address/' /etc/mysql/mysql.conf.d/mysqld.cnf echo "bind-address = 0.0.0.0" >> /etc/mysql/mysql.conf.d/mysqld.cnf # 重启服务 service mysql restart # 登录 MySQL 并执行授权命令 mysql -u root -p <<EOF CREATE USER 'demo'@'%' IDENTIFIED BY '111111'; GRANT ALL PRIVILEGES ON *.* TO 'demo'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; EOF ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值