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

Ubuntu 上安装 MySQL 并且实现远程登录

目录

1. 安装MySQL

2. 安全配置MySQL

3. 配置MySQL远程登录

3.1. 允许远程连接

3.2. 重启MySQL服务

3.3. 为用户分配远程访问权限

进入MySQL后,执行以下命令:

3.4. 创建新用户

3.5. 授予权限

3.6. 刷新权限

3.7. 退出 MySQL 控制台

4. 配置防火墙

5. 测试远程连接


在Ubuntu上创建MySQL并实现远程登录的步骤如下:

1. 安装MySQL

打开终端,执行以下命令来更新软件包和安装MySQL:

sudo apt update 
sudo apt install mysql-server 

安装完成后,MySQL服务会自动启动。可以使用以下命令检查MySQL服务状态:

sudo systemctl status mysql 

2. 安全配置MySQL

运行MySQL的安全脚本来移除默认的设置(如匿名用户、测试数据库等),并为root用户设置密码:

sudo mysql_secure_installation 

根据提示进行选择,建议:

  • 设置root用户密码
  • 移除匿名用户
  • 禁止root远程登录(可以根据需要允许)
  • 删除测试数据库
  • 重新加载权限表

3. 配置MySQL远程登录

3.1. 允许远程连接

打开MySQL配置文件并查找bind-address参数:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 

找到如下行:

bind-address = 127.0.0.1 

127.0.0.1改为0.0.0.0,以允许所有IP地址连接:

bind-address = 0.0.0.0 

保存文件并退出编辑器。

3.2. 重启MySQL服务

修改完成后,重启MySQL服务以应用更改:

sudo systemctl restart mysql 
3.3. 为用户分配远程访问权限

登录MySQL数据库并为需要远程访问的用户分配权限。例如,为root用户在任意主机上允许访问:

sudo mysql -u root -p 

第一次进入可以设置密码,密码格式是之前 安全设置 选择的 (例如:12345678)

进入MySQL后,执行以下命令:
3.4. 创建新用户

一旦登录到 MySQL 控制台,执行以下命令创建一个新的 MySQL 用户并设置密码:

CREATE USER 'new_user'@'%' IDENTIFIED BY 'new_password'; 
  • 替换 new_user 为你想要的用户名。
  • 替换 new_password 为你想要的密码。
3.5. 授予权限

为新用户授予对所有数据库的权限:

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

这将允许新用户从任何地方(% 代表任意主机)连接到MySQL,并拥有所有权限。

3.6. 刷新权限

运行以下命令来刷新权限表,使更改生效:

FLUSH PRIVILEGES; 
3.7. 退出 MySQL 控制台

退出 MySQL:

EXIT;

4. 配置防火墙

为了确保远程访问MySQL,需要开放MySQL默认的3306端口:

sudo ufw allow 3306 

5. 测试远程连接

现在你可以尝试从远程主机连接到MySQL服务器了。使用以下命令:

mysql -u username -h server_ip -p 

替换username为你创建的MySQL用户名,server_ip为你Ubuntu服务器的IP地址。

这样,MySQL应该可以正常远程访问了。


http://www.kler.cn/news/340418.html

相关文章:

  • 李沐 X动手学深度学习 数据操作+数据预处理 学习笔记(无代码,纯理论部分)
  • 测试-BUG篇
  • 宏队列和微队列
  • YOLO11模型推理 | 目标检测与跟踪 | 实例分割 | 关键点估计 | OBB旋转目标检测
  • 计算机网络:数据链路层 —— 数据链路层概述
  • java脚手架系列1--模块化、多环境
  • 百度文心智能体平台开发萌猫科研加油喵
  • FFMpeg源码分析,关键结构体分析(一)
  • 20241008深度学习动手篇
  • 如何避免 JavaScript 模块化中的函数未定义陷阱
  • 使用正则表达式删除文本的奇数行或者偶数行
  • k8s之ingress-nginx-controller安装
  • 04. prometheus 监控 Windows 服务器
  • JavaScript 中的异步
  • Qt开发环境的搭建
  • 【Matlab】Matlab 导入数据.csv或者.xlsx文件,然后使用这些数据来绘制图表
  • 从opencv-python入门opencv--GUI功能之图像和视频操作
  • 前端反接保护:实用方案解析与探讨
  • 红帽操作系统Linux基本命令2( Linux 网络操作系统 06)
  • Spring Cache 的说明及常用注解