ubuntu安装mysql8并切换数据存储目录

一、安装Mysql

在 Ubuntu 上安装 MySQL 可以通过apt命令完成。

1、更新系统包列表

sudo apt update

2、安装 MySQL Server

sudo apt install mysql-server

3、验证 MySQL 服务状态

确认 MySQL 服务是否正常运行:

sudo systemctl status mysql
如果服务未启动,可以手动启动:
 
sudo systemctl start mysql
设置服务开机自启:
 
sudo systemctl enable mysql

4、安全配置 MySQL

使用安全配置向导加固数据库环境:
 
sudo mysql_secure_installation
建议的配置选项如下:
  • 设置 root 密码(如果之前未设置)
  • 移除匿名用户
  • 禁止 root 远程登录(根据需求选择)
  • 删除测试数据库
  • 重新加载权限表

 二、MySQL基本配置

1、MySQL修改密码

从 MySQL 5.7.6 开始,推荐使用 ALTER USER 语句来修改密码。

mysql -u root -p

输入 root 用户的密码。

注意:在 MySQL 5.7 及更高版本中,root 用户可能配置为使用 auth_socket 认证方式。这种情况下,如果你以 root 用户登录系统,你可以无需密码直接登录 MySQL。你可以通过以下命令检查当前的认证方式:

SELECT user, host, plugin FROM mysql.user WHERE user = 'root';

如果 plugin 列显示为 auth_socket,则表示 root 用户使用的是 auth_socket 认证方式。

如果你希望 root 用户使用密码认证,可以将其认证方式改为 mysql_native_password

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
FLUSH PRIVILEGES;

这将强制 root 用户在登录时输入密码。

 

MySQL 8 的密码规则由 validate_password 插件统一控制,默认已启用。
下面给出当前版本(MySQL 8.0/8.4)生效的核心参数与典型值,全部可在运行时通过 SHOW VARIABLES LIKE 'validate_password%'; 查看。
 
 
参数说明默认值/范围备注
validate_password.policy 强度等级 MEDIUM(1) 可选 LOW(0)、MEDIUM(1)、STRONG(2)
validate_password.length 最小长度 8 字符 8.0 起允许 1-12 字符 
 
validate_password.mixed_case_count 至少大小写字母 1 MEDIUM 及以上生效
validate_password.number_count 至少数字 1 MEDIUM 及以上生效
validate_password.special_char_count 至少特殊字符 1 MEDIUM 及以上生效
validate_password.check_user_name 是否允许与用户名相同 ON 建议保持 ON

示例:把策略改成“强”且最小长度 12

SET GLOBAL validate_password.policy = STRONG;      -- 2
SET GLOBAL validate_password.length = 12;        -- 1-12 之间 [^31^]
创建用户时密码必须同时满足:
  • 长度 ≥ 12
  • 包含大小写字母、数字、特殊字符
  • 不能是常见弱口令(STRONG 级别会调用内置字典过滤)
注意:从 MySQL 8.4 开始,若使用传统 mysql_native_password 插件,需先在配置里加 mysql_native_password=ON 并重启实例,否则会被禁用。

2、常见MySQL 服务命令

查看 MySQL 服务状态

sudo systemctl status mysql

启动 MySQL 服务

sudo systemctl start mysql

停止 MySQL 服务

sudo systemctl stop mysql

重启 MySQL 服务

sudo systemctl restart mysql

重新加载 MySQL 服务配置

sudo systemctl reload mysql

设置 MySQL 服务开机自启

sudo systemctl enable mysql

禁用 MySQL 服务开机自启

sudo systemctl disable mysql

三、修改MySQL的存储路径

 1、查看当前的存储路径

 需要先登录进MySQL。

show variables like 'datadir';

image

2、停止MySQL服务

sudo systemctl stop mysql

为了避免数据不一致,需要提前停止数据库服务。

3、创建新存储路径并且赋权

例如我需要将MySQL数据存储路径更改为/data/mysql下。

mkdir -p /data/mysql
cp -R /var/lib/mysql/* /data/mysql
chmod -R 777 /data
chown -R mysql:mysql /data/mysql

image

 注意以上文件需要赋权给mysql

4、修改配置文件 mysqld.cnf

vim /etc/mysql/mysql.conf.d/mysqld.cnf
datadir        = /data/mysql

image

 5、修改安全保护文件

vim /etc/apparmor.d/usr.sbin.mysqld
/data/mysql/ r,
/data/mysql/** rwk,

image

 6、重新加载策略并恢复强制模式

apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
aa-enforce /usr/sbin/mysqld

7、修改mysql访问控制文件

vim /etc/apparmor.d/abstractions/mysql
/data/mysql{,d}/mysql{,d}.sock rw,

image

 8、重启服务并查看运行状态

service mysql restart
systemctl status mysql

image

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WCF-双工通讯

WCF双工通讯只要是通过调用由客户端实现的接口ICallback, 来实现服务端调用该接口方法来实现回调,从而把相关数据或对象传递到客户端的一种实现方式。当然目前通过WebSocket 也可以很容易实现,这里暂不讨论其他方法…

四川省城乡和住房建设厅网站聊城开发网站建设

python内置函数 D Python 解释器内置了很多函数和类型,任何时候都能使用。 D 名称描述delattr删除对象的属性。dict创建字典对象。dir列出对象的属性。divmod同时执行除法运算和取模运算,返回一个包含商和余数的元组。 delattr(object, name) delat…

Create lv of type vdo on RHEL8 9

Create lv of type vdo on RHEL8 HDD: 700G vg: 700G lv: 650G vdo: 7000G yum install lvm2 kmod-kvdo vdo -y fdisk /dev/sdc vgcreate vg_vdo /dev/sdc1lvcreate --type vdo -n vdo_virtual -L 650G -V 7000G vg_…

如何做好研发项目的资源分配

如何做好研发项目的资源分配研发项目与人力资源关系 最近,共创力咨询在一些研发项目管理咨询过程中,发现了客户存在一些共性的问题: 1)项目需求无法收敛,导致原来计划的人力资源不足; 2)项目多,人手少,所有的…

Notepad++ 最新破解版下载及安装使用教程

Notepad++ 最新破解版下载及安装使用教程一、Notepad++V软件介绍Notepad++V 是 Windows 系统下免费开源的轻量级文本编辑器,核心优势如下: 多语言兼容:支持 80+ 编程语言(Python/Java/C++/HTML/CSS/JavaScript/SQL…

网站建设研究方法用vs做购物网站

题目描述 对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否…

申请个人手机网站空间re安装wordpress

前言 这是《从0开发一个Chrome插件》系列的第十一篇文章,本系列教你如何从0去开发一个Chrome插件,每篇文章都会好好打磨,写清楚我在开发过程遇到的问题,还有开发经验和技巧。 专栏: 从0开发一个Chrome插件:什么是Chrome插件?从0开发一个Chrome插件:开发Chrome插件的必…

网站图片如何做缓存wordpress nginx php.ini

如何解锁EXCEL表格编辑保护和VBA隐藏代码保护?当我们想借用别人的表格发现表格上锁无法编辑又不知道密码时或者当我们用软件生成一些表格时往往会遇到“上锁”问题,导致我们无法对表格进行改动。类似下图这样:那怎么才能征服她呢?…

幼儿教育网站源码网站建设300

火车头采集网页数据发布到织梦CMS(DeDeCMS)系统操作步骤如下: 1. 火车头采集织梦DeDeCMS发布模块下载安装 百度网盘:火车头采集织梦CMS发布插件下载地址 提取码:414h 2. 在火车头采集软件导入织梦De…

平坝网站建设网站美工设计收费

栈(Stack)和队列(Queue)是计算机科学中常见的线性数据结构,它们在许多算法和编程场景中发挥着重要作用。它们的不同特点和用途使得它们适用于不同的问题和应用。 栈(Stack) 栈,作为…

南通网站的优化苏州关键词搜索排名

问题截图: 由于作者使用递归统计信息,刚开始这个接口运行得正常,但是上线运行一段时间后接口就出现了,如图的栈溢出错误。可以看出确实是堆栈溢出了,解决栈溢出目前只有两种方式: 第一种调大栈的大小&…

西安企业网站seo网页游戏排行榜 511

网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现,也是作为一个算法工程师必会的理论基础知识。 http://mantchs.com/ 此项目是机器学习、NLP面试中常考到的…

跨网文件安全交换系统:打破数据壁垒的高效之选!

在数字化时代,政府部门、金融、能源等行业及大中型企业为保护核心数据,普遍采用多网络隔离架构,不同网络拥有不同密级和权限。这种隔离虽保障了数据安全,却形成了 “数据孤岛”,跨网数据交换需求日益迫切,跨网文…

【F#学习】可区分联合 Discriminated Unions

可区分联合是一串固定的项目。使用type和| 来声明。将每一个项目称为一个case。 type Season =| Spring // Spring 就是一个 case| Summer| Autumn| Winter可区分联合的每一个case都可以附加一些数据,不同的case可以…

Midscene.js - 开源的 AI 操作助手 - 广东靓仔

开源的 AI 操作助手,适用于 Web、移动端、自动化和测试功能特性使用 Javascript SDK 或 YAML 格式编写自动化脚本。 网页或移动应用 用于调试的可视化报告:通过我们的测试报告和 Playground,可以轻松理解、回放和调…

详细介绍:【Datawhale25年9月组队学习:llm-preview+Task1:大模型介绍与环境配置】

详细介绍:【Datawhale25年9月组队学习:llm-preview+Task1:大模型介绍与环境配置】pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

企业网站的建立与维护论文网站的定位

文章目录 什么是Sa-Token?为什么集成Redis的redisson客户端?如何集成?maven依赖application.yml配置过滤器配置验证参考什么是Sa-Token? Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权…

网站建设 样板wordpress远程安装教程

关于 jar 的查找,及使用版本的确定,及依赖的版本确认,避免 jar 冲突或版本不兼容 在使用 maven 构建项目时,需要的 jar 可以通过在 https://mvnrepository.com/ 可以找到部分需要的依赖,这里以查找 mybatis 依赖为例&…

网站系统中备案申请表高清直播

在互联网业务中,CDN的应用已经成了普遍,SRE的日常需求中,CDN的刷新在前端需求逐渐中占了很大比例,并且比较琐碎。做为合格的SRE,把一切自动化是终极使命,而今天就分享通过JenkinsTerraform实现阿里云的CDN自…