当前位置: 首页 > article >正文

Linux下的 MySQL 中添加用户并设置远程访问

Linux 下的 MySQL 中添加用户并设置远程访问

在 Linux 系统中,MySQL 是一个非常流行的数据库管理系统。本文将详细介绍如何在 Linux 下的 MySQL 中添加一个用户并设置远程访问权限。通过本文,你将学会如何创建用户、授予权限以及配置 MySQL 服务器以允许远程连接。

1. 登录 MySQL

首先,你需要使用命令行工具登录到 MySQL 服务器。通常,你需要使用 root 用户或具有足够权限的其他用户登录。

mysql -u root -p

运行上述命令后,系统会提示你输入 MySQL root 用户的密码。输入正确的密码后,你将进入 MySQL 提示符界面。

2. 创建用户

在 MySQL 提示符下,使用以下命令创建一个新用户(这里以 newuser 为例,你可以替换为你想要的用户名),并设置密码(这里以 password 为例,你应该使用强密码替换它)。

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

在这个命令中,@'%' 表示该用户可以从任何主机连接到 MySQL 服务器。如果你只想允许从特定 IP 地址或主机名连接,可以将 % 替换为相应的地址或名称,例如:

CREATE USER 'newuser'@'192.168.1.100' IDENTIFIED BY 'password';

3. 授予权限

根据你的需求,为该用户授予适当的权限。例如,如果你想让该用户能够访问所有数据库并执行所有操作,可以使用以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION;

如果你只想让该用户能够访问特定的数据库(例如 mydb),则可以使用:

GRANT ALL PRIVILEGES ON mydb.* TO 'newuser'@'%';

WITH GRANT OPTION 表示该用户还可以将其权限授予其他用户。如果你不想让用户有这个能力,可以省略这部分。

4. 刷新权限

为了让更改立即生效,需要执行以下命令:

FLUSH PRIVILEGES;

5. 配置 MySQL 服务器

默认情况下,MySQL 可能不允许远程连接。你需要编辑 MySQL 的配置文件(通常是 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf,具体位置可能因系统而异)来更改这一设置。

找到 bind-address 这一行,通常它会被设置为 127.0.0.1(只允许本地连接)。要允许从任何地址进行连接,你可以将其更改为 0.0.0.0 或注释掉这一行(在前面加上 #)。

# bind-address = 127.0.0.1

或者

bind-address = 0.0.0.0

注意: 允许从任何地址进行连接可能会带来安全风险。确保你的 MySQL 服务器有适当的防火墙规则,并且只允许受信任的主机进行连接。

6. 重启 MySQL 服务

更改配置文件后,需要重启 MySQL 服务以使更改生效。这可以通过系统的服务管理工具来完成。例如,在 Ubuntu 上可以使用:

sudo service mysql restart

在 CentOS 上可以使用:

sudo systemctl restart mysqld

总结

通过以上步骤,你已经成功地在 Linux 下的 MySQL 中添加了一个用户,并设置了远程访问权限。确保你的 MySQL 服务器防火墙设置允许外部连接,并且你已经使用了强密码来保护你的用户账户。


http://www.kler.cn/a/386740.html

相关文章:

  • 从swagger直接转 vue的api
  • 【WRF理论第十二期】输出文件:wrfout 和 wrfrst
  • 基于海思soc的智能产品开发(两个图像处理来源)
  • Flink1.19编译并Standalone模式本地运行
  • 如何在python中模拟重载初始化函数?
  • 编写红绿起爆线指标(附带源码下载)
  • 十六:Spring Boot (1)-- spring-boot-starter 应用
  • EHOME视频平台EasyCVR视频融合平台支持哪些摄像机接入?监控摄像头镜头的种类有哪些?
  • 启明云端触觉智能与您相约2024年慕尼黑国际电子元器件博览会,不见不散!
  • 半年总结-还有很多要学习
  • clickhouse自增id的处理
  • JS 循环语句
  • 如何学习C++游戏开发
  • 基于微信小程序的实习管理系统(附源码,文档)
  • 2024-11-5 学习人工智能的Day22 openCV(4)
  • 费舍尔信息矩阵 低秩矩阵 渐近正态性
  • 关键词研究与布局的重要性与实施策略
  • Python Matplotlib 如何绘制股票或金融数据图
  • 使用 PyTorch 实现并测试 AlexNet 模型,并使用 TensorRT 进行推理加速
  • springboot 之 接口数据脱敏
  • 淘淘商城实战高并发分布式项目(有源码)
  • 【死锁处理案例之一】
  • 硬件基础知识补全计划【七】MOS 晶体管
  • 【Docker】 常用命令
  • C++静态成员函数
  • 怎么更换IP地址 改变IP归属地的三种方法