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

【mysql部署】在ubuntu22.04上安装和配置mysql教程

一.安装mysql

1. 更新软件包列表:
sudo apt-get update
2.安装 MySQL 服务器:
sudo apt-get install mysql-server
3.设置 MySQL 安全性:
sudo mysql_secure_installation

按照提示输入相关问题的回答,例如删除匿名用户、禁止 root 远程登录等。

这里建议直接输入y

这里根据自己要设置的密码强度自行选择,这里我选择输入0
后面还有几个选项,默认输入y就行。

4.启动 MySQL 服务:
sudo service mysql start
5.检查mysql是否处于运行状态:
sudo service mysql status

如果 MySQL 正在运行,将看到 “active (running)” 的输出信息。

6.检查 MySQL 版本:
mysql --version

二.修改mysql配置

1.以root身份登录mysql
MySQL 数据库带有一个客户端实用程序,允许你从 Linux 终端访问数据库并与之交互。

通常,在未执行任何配置的情况下在 Ubuntu 上全新安装 MySQL 后,访问服务器的用户将使用身份验证套接字 (auth_socket) 插件进行身份验证。

2.打开 MySQL 控制台:

sudo mysql

3.输入命令检查数据库对不同用户使用的身份验证方法:

SELECT user,authentication_string,plugin,host FROM mysql.user;

我们可以看到root用户是使用身份验证套接字 (auth_socket) 插件进行身份验证登录的,并且只能在本地登录。

在生产环境中,为了保证数据库的安全性,我们一般不建议直接使用 root 用户进行其他操作,而是创建一个专门用于应用程序或管理员操作的非特权用户,并且仅授予该用户必要的权限。

接下来,我们开始创建非特权用户,并且授予该用户必要的权限!

4.列出 MySQL 数据库服务器上的所有数据库:

SHOW DATABASES;

5.切换到其中一个数据库mysql:

use mysql;

6.创建用户new_user,并设置只能本地登录,登录密码为password。用户名和密码自己设置,并且密码包括大写,小写,数字等字符。

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';

这里我是创建的用户名为wwk

7.我们再次输入命令检查数据库对不同用户使用的身份验证方法:

SELECT user,authentication_string,plugin,host FROM mysql.user;

可以看到多了一条记录,并且该用户wwk是使用密码登录,只能在本地登录。

8.尝试创建一个新的数据库进行存储应用程序的数据,例如mydatabase:

CREATE DATABASE mydatabase;

9.设置刚才自己创建的用户wwk登录方式为远程登录。

update user set host='%' where user='wwk' and host='localhost';

10.我们再次输入命令检查数据库对不同用户使用的身份验证方法:

SELECT user,authentication_string,plugin,host FROM mysql.user;

从图中的%,我们可以看到用户wwk的登录方式已经是允许在任意主机上进行登录了。

11.授予用户new_user适当的权限,给予用户new_user在任意主机登录,并且只能对于数据库database_name进行所有操作的权限。

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

这里的用户new_user可以替换为之前创建的用户wwk,数据库database_name替换为刚才创建的数据库mydatabase

12.退出mysql

exit

13.接着,进入目录/etc/mysql/mysql.conf.d,修改其下的文件mysqld.cnf

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

将bind-address = 127.0.0.1注释掉(即在行首加#)

代码如下:

# Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. # bind-address = 127.0.0.1

如果只是开发用的数据库,为了方便起见建议直接注释掉。

14.完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效:

sudo service mysql restart

到此,mysql的配置修改就结束了。

三.使用datagrip或者idea远程登录mysql

这里为了方便我使用idea进行mysql远程登录。首先登录idea,然后按照如下图步骤进行操作。

然后来到了data sources界面:
在Host填入mysql所在的ip地址,接着填入用户名wwk和密码,点击下方的Test Connection进行测试连接,从图中,我们可以看到是连接成功的!

接着点击下图红色方块选择需要展示的数据库个数

这里选择需要展示的数据库数量为ALL,然后点击刷新。

然后就可以从图中找到数据库mydatabase了,由于之前我们授予用户wwk只能对数据库mydatabase进行所有操作的权限,因此用户wwk并没有其他多余的权限,这样就能够保证数据库的安全性!!

我们就可以在这个可视化界面进行数据库mydatabase的所有操作,包括插入,删除,添加,更新,查询,修改等操作啦!!

http://www.jsqmd.com/news/484094/

相关文章:

  • SQL2000在win10上安装的方法
  • Unity游戏开发:从零开始配置Nintendo Switch开发环境(含SDK下载避坑指南)
  • 新概念英语第一册017_How do you do
  • 零基础玩转BigemapPro:5分钟学会等高线生成与CAD导出技巧
  • 蓝桥杯算法精讲:贪心算法之区间问题深度剖析
  • apt install fcitx5 引发的 Ubuntu 黑屏:从 APT 日志还原 NVIDIA 驱动被替换全过程
  • Vivado 2023.2下MicroBlaze软核实战:从Block Design到硬件调试全流程
  • 从Boost到C++17:Boost库带来的新特性
  • Qwen3.5-35B-A3B-AWQ-4bit效果展示:建筑图纸结构识别、电路图元件标注真实案例
  • 【2026年最新600套毕设项目分享】springboot高校竞赛管理系统(14150)
  • Sendable 协议-Swift 结构化并发的核心安全保障
  • EMQX v3保姆级安装教程:5分钟搞定MQTT服务器搭建(Windows10实测)
  • Z-Image-Turbo镜像详解:内置Supervisor守护,服务稳定不崩溃
  • 【C++笔记】类与对象(初识)
  • 鸿蒙开发进阶之路:从 ArkTS 到分布式应用实践
  • Micropython BLE实战:3步搞定ESP32与手机蓝牙通信(附完整代码)
  • 钓鱼即服务产业化演进与企业防御体系重构研究
  • 用R语言进行土壤侵蚀数据分析
  • 用MATLAB boxplot函数做科研数据分析:箱线图实战案例解析
  • 中兴交换机配置加固方法
  • 【C++】string类--常见接口及其模拟实现
  • 最新!2026年OpenClaw(Clawdbot)云端5分钟集成及使用方法
  • 发光二极管(LED)介绍
  • 解决Notepad++绿色版右键菜单失效的3种方法(注册表+bat+权限问题排查)
  • 探索基于出行链的电动汽车负荷预测模型
  • 2026年热销榜单:十大动环监控系统推荐,让你的机房管理更高效
  • 【MySql】navicat连接报2013错误
  • 低查重不是梦!AI教材写作工具,助力快速且高质量完成教材编写!
  • Go 语言实现 Function Calling 服务端:从协议解析到工具执行
  • 【FFmpeg】H.264 格式分析 ② ( 网络抽象层单元 NALU NALU 功能结构 VCL 视频编码层 NAL 网络提取层 H.264 封装模式 - annexb 模式 )