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

news/2024/11/15 2:48:34/

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.ppmy.cn/news/1546187.html

相关文章

香港服务器怎么搭建docker加速器

在香港服务器上搭建 Docker 加速器,主要是为了解决因网络问题导致的 Docker 镜像拉取缓慢或失败的问题。以下是在香港服务器上搭建 Docker 加速器的步骤: 1. 选择一个Docker加速器服务 你可以选择一个公共的 Docker 加速器服务,如 Docker Hub…

鸿蒙NEXT开发案例:转盘

【1】引言(完整代码在最后面) 在鸿蒙NEXT系统中,开发一个有趣且实用的转盘应用不仅可以提升用户体验,还能展示鸿蒙系统的强大功能。本文将详细介绍如何使用鸿蒙NEXT系统开发一个转盘应用,涵盖从组件定义到用户交互的完…

「OC」SDWebimage的学习

「OC」SDWebimage的学习 前言 在知乎日报这个项目之中,我在很多情况下都会进行图片资源的网络申请。通过上网搜索我了解到了SDWebimage这个功能丰富的第三方库,进行了较为浅层的学习。因为SDWebimage这个库之中的相关内容还是较为多且复杂的&#xff0…

ubuntu 22.04 server 安装 mysql 5.7.40 LTS

ubuntu 22.04 server 安装 mysql 5.7.40 LTS 参考: ubuntu 22.04 server 安装 和 初始化 LTS https://blog.csdn.net/wowocpp/article/details/143562451 centos7 安装 mysql5.7 LTS https://blog.csdn.net/wowocpp/article/details/139467094 mysql 常用指令 L…

JS 函数的基本知识

目录 1. 介绍函数 2. 使用函数 3. 函数传参 3.1 传递默认值 3.2 传递数组 3.3 传递变量 4. 函数返回值 5. 匿名函数 6. 立即执行函数 7. 注意 1. 介绍函数 在学习 CSS 样式过程中,经常有如下操作: 2. 使用函数 函数声明: 函数命名规…

科技查新在人工智能领域的重要性

科技查新在人工智能领域扮演着至关重要的角色,它不仅有助于推动技术创新,还能提高科研效率,降低投资风险,并促进科技成果的转化。以下是科技查新在人工智能中的几个关键作用: 避免重复研究:通过科技查新&a…

软考:去中心化的部署有什么特点

微服务架构被认为是去中心化的,因为它具有以下特点 模块化:微服务架构将应用程序拆分为一系列小型服务,每个服务都是独立的模块,易于维护和扩展 。这种模块化设计使得每个服务可以独立于其他服务运行,没有单一的控制中…

2024年华为OD机试真题-矩阵扩散-Java-OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精选c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,持续跟新。 题目描述: 存在一个m*n的二维数组…