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

Linux MariaDB部署

1:查看Linux系统版本

cat /etc/os-release

#返回结果:

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31" 

2:下载MariaDB安装包,根据步骤1找对应的安装包:

示例版本:mariadb-10.4.18-linux-x86_64

3:利用lrzsz工具上传安装包:

事先规划好mariadb的安装目录:

比如:使用df -h 查看磁盘空间使用情况,使用mkdir -p 递归创建好安装目录和数据文件存放目录,示例目录:

安装包目录:/Home/mariadb/

数据文件目录:/Home/mariadb/data

# 进入安装目录
cd /Home/mariadb# 上传安装包
rz mariadb-10.4.18-linux-x86_64.tar.gz# 解压tar.gz文件 
tar -xzvf mariadb-10.4.18-linux-x86_64.tar.gz-x:表示从压缩档案中提取文件
-z:表示文件是经过 gzip 压缩的
-v:表示详细模式,会在解压过程中列出所有被处理的文件
-f:指定要处理的文件名# 把解压的全部文件转移到当前目录
mv mariadb-10.4.18-linux-x86_64/* .# 删除空文件夹
rm -rf mariadb-10.4.18-linux-x86_64

4:创建mysql 用户并赋予权限

 useradd -s /sbin/nologin -M mysql
  • useradd:这是用于创建新用户账户的基本命令
  • -s /sbin/nologin
    • /sbin/nologin 是一个特殊的 shell,它不允许用户登录系统。当用户尝试登录时,会显示一条消息说账户当前不可用。
    • 这个设置对于服务账户来说很有用,因为它们通常不需要直接登录系统,而是通过服务本身进行管理
  • -M
    • 这个选项告诉 useradd 命令不要为用户创建主目录。
    • 默认情况下,useradd 会为用户创建一个主目录,但对于许多服务账户来说,这是不必要的。
  • mysql:这是新用户的用户名。在这个例子中,我们创建了一个名为 mysql 的用户,这通常是用于运行 MySQL 数据库服务的账户
#所有权给mysql
sudo chown -R mysql:mysql /home/mariadb
  • chown
    • 改变文件或目录的所有者和/或组。
    • 语法为 chown [选项] [新所有者][:新组] 文件或目录
  • -R
    • 递归地更改指定目录及其所有子目录和文件的所有权

5:执行安装脚本

进入到安装目录(/Home/mariadb/)

./scripts/mysql_install_db --basedir=/home/mariadb --datadir=/home/mariadb/data --user=mysql

注意上面的脚本路径分隔符“/”前后不要有空格,否则会有报错 ,执行响应结果:

Installing MariaDB/MySQL system tables in '/home/mariadb/data' ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

上面这句提示:如果要开机启动mysqld,应复制support-files/mysql.server脚本文件到相应的目录中,参考下面的开机自启动

 6:修改my.cnf配置文件

在步骤5执行安装前linux系统中已经存在/etc/my.cnf, mariadb启动时会检查这个配置文件,主要配置basedir 和 datadir两个目录,及端口号等,修改前可做一个备份;

cp support-files/wsrep.cnf  /etc/my.cnf

其中“support-files/wsrep.cnf”根据安装的mariadb版本不同,名称会不同

编辑/etc/my.cnf文件:

在[mysqld]节点下增加如下配置:

[mysqld]
basedir=/home/mariadb
datadir=/home/mariadb/data

7:设置mysql环境变量

echo 'export PATH=/home/mariadb/bin:$PATH' >  /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh

将 /home/mariadb/bin 追加到系统的 PATH 环境变量中,重定向输出到mysql.sh脚本中;“/etc/profile.d/”目录用于存放各种 shell 初始化脚本。系统会在用户登录时自动加载该目录下的脚本

查看环境变量:

[root@mftx1438 mariadb]# $PATH
或者验证mysql 指令是否生效:

[root@mftx1438 mariadb]# mysql --version
mysql  Ver 15.1 Distrib 10.4.18-MariaDB, for Linux (x86_64) using readline 5.1

8:设置开机自启动mariadb

# 复制启动脚本到开机启动初始化服务脚本中
cp support-files/mysql.server /etc/rc.d/init.d/mysql.server# 加入开机自启动服务列表中
chkconfig --add mysql.server# 设置开机启动
chkconfig mysql.server on

此时可以开启mariadb服务了:

systemctl start mysql.server

或者也可以这样:/etc/init.d/mysql.server start 对应停止就是stop

9:设置root密码

开启mariadb后,执行

mysql -uroot -p

ctrl+C 不输入密码登录;

在mariadb控制台中输入下列指令,赋予root账号权限;

grant all privileges on *.* to 'root'@'%' identified by '111111';
grant all privileges on *.* to 'root'@'localhost' identified by '111111';
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '111111';
flush privileges;

重新使用root登录mariadb: mysql -uroot -p111111

[root@mftx1438 mariadb]# mysql -uroot -111111
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.4.18-MariaDB MariaDB Server

执行查询: select @@version

<The end>

相关文章:

Linux MariaDB部署

1&#xff1a;查看Linux系统版本 cat /etc/os-release#返回结果&#xff1a; NAME"CentOS Linux" VERSION"7 (Core)" ID"centos" ID_LIKE"rhel fedora" VERSION_ID"7" PRETTY_NAME"CentOS Linux 7 (Core)" ANSI…...

window系统下安装elk

Elasticsearch、logstash、kibana 都为8.17.3版本 Elasticsearch 安装流程 # 下载 https://www.elastic.co/cn/downloads/elasticsearch#ga-release elasticsearch-8.17.3-windows-x86_64 # 解压配置 elasticsearch.yml&#xff0c;下个代码块 # bin目录下双击下述文件&…...

uniapp用户登录及获取用户信息(头像昵称)

低版本情况 微信开发者工具的基础库版本要调到2.27版本以下&#xff0c;能够直接申请用户权限获取用户信息&#xff0c;但是会仅限于开发者调试&#xff0c;在真机测试或已上传的小程序在手机上就不能获取以上的原因是微信小程序wx.getUserProfile 和wx.getUserInfo 这两个获取…...

第五周日志-重新学汇编(2)

机器语言 汇编语言(直接在硬件上工作——硬件系统结构&#xff09;&#xff1a; 1.机器语言 每一种微处理器硬件设计和内部结构不同&#xff08;决定了电信号不同&#xff0c;进而需要不同的机器指令&#xff09; #早期通过纸带机/卡片机输入计算机&#xff0c;进行运算 2…...

Linux下EC11旋转编码器驱动调试

文章目录 1、前言2、使用gpio-keys驱动2.1、dts配置2.2、识别原理2.3、应用层驱动实现2.4、编译测试 3、使用rotary-encoder驱动3.1、dts配置3.2、app测试程序编写3.3、编译测试 4、总结 1、前言 本来是没有这篇文章的。最近在rk3576下调试ec11旋转编码器时&#xff0c;一直没…...

【无标题】Java的基础准备

一、cmd的常见命令 盘符名称冒号 说明&#xff1a;盘符切换dir 说明&#xff1a;查看当前路径下的内容cd目录 说明&#xff1a;进入单极目录cd.. 说明&#xff1a;回退到上一级目录cd目录1\目录2\... 说明&#xff1a;进入多级目录cd\ …...

【数学建模】(启发式算法)遗传算法:自然选择的计算模型

遗传算法&#xff1a;自然选择的计算模型 文章目录 遗传算法&#xff1a;自然选择的计算模型1. 引言2. 遗传算法的基本原理2.1 基本概念2.2 算法流程 3. 编码方式3.1 二进制编码3.2 实数编码3.3 排列编码 4. 选择操作4.1 轮盘赌选择4.2 锦标赛选择4.3 精英保留策略 5. 交叉操作…...

嵌入式八股,static在Linux驱动编写时的用处

1. 限制作用域 static关键字可以用来限制函数或变量的作用域&#xff0c;使其只能在当前文件内被访问。这有助于避免命名冲突&#xff0c;并提高代码的模块化和可维护性。 只能在当前文件里访问&#xff0c;或调用当前文件里有的函数。 // 文件 A.h static int globalVar 1…...

RCE——回调后门

目录 rce简述 rce漏洞 rce漏洞产生分类 rce漏洞级别 创造tips的秘籍——回调后门 call_user_func 解析 如何执行后门 call_user_func_array array_filter、array_map 解析 如何执行后门 php5.4.8中的assert——二参数的回调函数 uasort uksort array_reduce() …...

JavaScript 调试入门指南

JavaScript 调试入门指南 一、调试准备阶段 1. 必备工具配置 浏览器套件:安装最新Chrome102+,开启实验性功能(地址栏输入chrome://flags/#enable-devtools-experiments)编辑器集成:VS Code安装以下扩展: JavaScript Debugger:支持浏览器与Node.js双端调试Error Lens:实…...

字节真题,问a,b,c指的地址是否相同?

题目&#xff1a; class A{ int a, int d } class B { int b }class C: public A,public B { int b } C* c new C; A* a c; B* b c; 问a,b,c指的地址是否相同&#xff1f; 在 C 中&#xff0c;由于类的继承关系以及内存布局的规则&#xff0c;a、b 和 c 指针的地址可能不…...

2025年03月18日柯莱特(外包宁德)一面前端面试

目录 自我介绍你怎么从0到1搭建项目的webpack 的构建流程手写webpack插件你有什么想问我的吗 2. 你怎么从 0 到 1 搭建项目的 在面试中回答从 0 到 1 搭建前端项目&#xff0c;可按以下详细步骤阐述&#xff1a; 1. 项目前期准备 需求理解与分析 和产品经理、客户等相关人…...

OpenGL ES 2.0与OpenGL ES 3.1的区别

如果硬件支持且需要更高质量的图形效果&#xff0c;推荐3.1&#xff1b;如果兼容性和开发简便更重要&#xff0c;且效果需求不高&#xff0c;2.0更合适。不过现代车载系统可能越来越多支持3.x版本&#xff0c;所以可能倾向于使用3.1&#xff0c;但具体情况还需调查目标平台的硬…...

Unity Shader 学习17:合批渲染

一、基础概念 合批主要是针对这三个概念进行优化减少&#xff1a; ① SetPass Call&#xff1a;一次渲染状态切换&#xff0c;也就是每次切换 材质/Pass 时&#xff0c;就会触发一次SetPass Call ② Draw Call&#xff1a;cpu 调用一次 gpu 绘制函数 ③ Batch&#xff1a;表示…...

带你从入门到精通——自然语言处理(十. BERT)

建议先阅读我之前的博客&#xff0c;掌握一定的自然语言处理前置知识后再阅读本文&#xff0c;链接如下&#xff1a; 带你从入门到精通——自然语言处理&#xff08;一. 文本的基本预处理方法和张量表示&#xff09;-CSDN博客 带你从入门到精通——自然语言处理&#xff08;二…...

vue3 数据监听(watch、watchEffect)

1、watch 1.1基本使用 作用&#xff1a;数据监听 语法&#xff1a; watch(监听的数据, (改变后的数据, 改变前的数据) > { console.log(newVal, oldVal); }) 注意点&#xff1a;watch写法上支持一个或者多个监听源&#xff0c;这些监听源必须只能是getter/effect函数…...

Vue 3中的Teleport:超越组件边界的渲染

Vue 3引入了许多新特性&#xff0c;其中之一便是Teleport。它为开发者提供了一种强有力的方式来控制组件的渲染位置&#xff0c;使得我们可以将组件的内容“传送”到DOM树的任何地方&#xff0c;而不仅仅局限于其父级组件的边界内。这在创建模态框、通知系统或任何需要脱离当前…...

【计算机网络】DHCP工作原理

DHCP(动态主机配置协议) Dynamic Host Configuration Protocol 基于UDP协议传输 DHCP分配IP地址的过程 &#xff08;1&#xff09;DHCP DISCOVER客户机请求 IP 地址&#xff1a; 当一个 DHCP 客户机启动时&#xff0c;客户机还没有 IP 地址&#xff0c;所以客户机要通过 DHC…...

Linux网站搭建(新手必看)

1.宝塔Linux面板的功能 宝塔面板是一款服务器管理软件&#xff0c;可以帮助用户建立网站&#xff0c;一键配置服务器环境&#xff0c;使得用户通过web界面就可以轻松的管理安装所用的服务器软件。 2. 宝塔Linux面板的安装 宝塔官网地址&#xff1a;宝塔面板 - 简单好用的Linu…...

JVM - 年轻代和老年代

通过一些问题来讨论 JVM 中年轻代和老年代的内容 为什么要区分年轻代和老年代&#xff1f;哪些对像会进入老年代&#xff1f;什么时候会进行年轻代GC&#xff1f;什么时候会进行老年代GC&#xff1f; 1. 为什么要区分年轻代和老年代&#xff1f; 年轻代中的对象大部分都是短期…...

【C++初阶】---类和对象(上)

1.类的定义 1.1类的定义格式 • class为定义类的关键字&#xff0c;Data为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员&#xff1a;类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或者成员函数。 •…...

【数据库事务、消息队列事务、Redis 事务、Spring 事务 详细分析】

数据库事务、消息队列事务、Redis 事务、Spring 事务** 的详细分析 在分布式系统和应用开发中&#xff0c;事务管理是确保数据一致性和可靠性的关键机制。以下是针对 数据库事务、消息队列事务、Redis 事务、Spring 事务 的详细分析&#xff0c;包括原理、特点、适用场景和对比…...

2-1 基本放大电路

放大的概念 mV →V mA→A 特征&#xff1a;放大功率&#xff08;电压与电流&#xff09;。 本质&#xff1a;能量在控制下的转换。&#xff08;外接供电电源&#xff09; 必要条件&#xff1a;有源元件&#xff08;能量控制原件&#xff09; 前提&#xff1a;不失真 测试的…...

什么是矩阵账号

矩阵账号是指在同一平台或多个平台上&#xff0c;围绕同一品牌或个人&#xff0c;创建的多个相互关联、协同工作的账号组合。这些账号虽然独立&#xff0c;但在内容定位和运营策略上有所区分&#xff0c;同时又相互引流&#xff0c;共同形成一个网络结构&#xff0c;类似于矩阵…...

【Linux】Ubuntu 24.04 LTS 安装 OpenJDK 8

目录 通过 apt-get 直接安装 JDK 1. 更新 apt 软件源 2. 检查 JDK 是否已安装 3. 安装OpenJDK 4. 检查 JDK 是否成功安装 5. 设置 JAVA_HOME 环境变量 找到需要设置的 Java 路径 使用文本编辑器打开/etc/environment文件 添加 Java 安装路径 应用更改和验证配置 通过…...

xcode开发swiftui项目的时候,怎么调试ui占位和ui大小

有时候元素之间可能存在很大的空间间隔&#xff0c;但是又不知道怎么产生的&#xff0c;无奈我又看不懂xcode里面的Debug View Hierarchy功能&#xff0c;只能使用笨方法&#xff0c;就是给不同的块元素设置上不同的背景色&#xff0c;然后看一下间隙区域到底是哪个背景色填充的…...

测试用例的优先级划分规则

测试用例的优先级划分是根据 业务重要性、风险程度、测试资源 等因素&#xff0c;确定测试执行的顺序&#xff0c;以最大化测试效率和风险控制。以下是常见的优先级划分规则和操作方法&#xff1a; 一、优先级划分的核心原则 风险驱动 高风险功能&#xff08;如核心支付流程&a…...

信息安全的数学本质与工程实践

信息安全的本质是数学理论与工程实践的高度统一。在这个数字空间与物理世界深度融合的时代&#xff0c;信息安全已从简单的数据保护演变为维系数字社会正常运转的基础设施。对于计算机专业学习者而言&#xff0c;理解信息安全需要超越工具化认知&#xff0c;深入其数学内核与系…...

第 6 章:优化动态分配内存的变量_《C++性能优化指南》_notes

优化动态分配内存的变量 第六章核心知识点详解总结第六章 动态内存优化 重点难点梳理 一、多选题&#xff08;每题至少2个正确答案&#xff09;二、设计题答案与详解多选题答案设计题答案示例 第六章核心知识点详解 动态内存分配的开销 知识点&#xff1a;动态内存分配需要调用…...

k8s kubernetes dashboard一直CarshLoopBackoff

使用 kubectl get pods -A -o wide 发现pod一直CarshLoopBackoff 通过 kubectl describe pod kubernetes-dashboard-7c4f8ff86d-7k7bd -n kubernetes-dashboard 获取详细信息 发现一直报错 Warning Unhealthy 10m (x31 over 34m) kubelet Liveness probe fail…...