55 openEuler搭建Mariadb数据库服务器-配置环境

news2024/9/25 3:19:52

文章目录

    • 55 openEuler搭建Mariadb数据库服务器-配置环境
      • 55.1 关闭防火墙并取消开机自启动
      • 55.2 修改SELINUX为disabled
      • 55.3 创建组和用户
      • 55.4 创建数据盘
        • 55.4.1 方法一:在root权限下使用fdisk进行磁盘管理
        • 55.4.2 方法二:在root权限下使用LVM进行磁盘管理
      • 55.5 创建数据库目录并且授权

55 openEuler搭建Mariadb数据库服务器-配置环境

image-20221219190513462 说明:
以下环境配置仅为参考示例,具体配置视实际需求做配置。

55.1 关闭防火墙并取消开机自启动

image-20221219190513462 说明:
测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

  1. 在root权限下停止防火墙。

    # systemctl stop firewalld
    

    例如示例命令如下:

    [root@superman-21 ~]# systemctl stop firewalld  
    [root@superman-21 ~]# 
    
  2. 在root权限下关闭防火墙。

    # systemctl disable firewalld
    

    image-20221219190513462 说明:
    执行disable命令关闭防火墙的同时,也取消了开机自启动。

    例如示例命令如下:

    [root@superman-21 ~]# systemctl disable firewalld
    Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
    [root@superman-21 ~]# 
    

55.2 修改SELINUX为disabled

  1. 永久关闭,在root权限下修改配置文件。

    # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    

    image-20221219190513462 说明:

    重启后生效。

    例如示例命令如下:

    [root@superman-21 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    [root@superman-21 ~]# 
    [root@superman-21 ~]# cat /etc/sysconfig/selinux 
    
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of these three values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected. 
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    
    
    [root@superman-21 ~]#
    
  2. 临时关闭

    # setenforce 0
    

    image-20221219190513462 说明:

    即时生效,但重启后会自动开启。

    例如示例命令如下:

    [root@superman-21 ~]# setenforce 0
    setenforce: SELinux is permissive
    [root@superman-21 ~]# 
    

55.3 创建组和用户

image-20221219190513462 说明:
服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。本章节创建的组和用户都是操作系统层面的,不是数据库层面的。

  1. 在root权限下创建MySQL用户(组)。

    # groupadd mysql
    # useradd -g mysql mysql
    

    例如示例命令如下:

    [root@superman-21 ~]# groupadd mysql
    [root@superman-21 ~]# 
    [root@superman-21 ~]# useradd -g mysql mysql
    [root@superman-21 ~]# 
    
  2. 在root权限下设置MySQL用户密码。

    # passwd mysql
    

    需要重复输入密码(根据实际需求设置密码)。

    例如示例命令如下:

    [root@superman-21 ~]# passwd mysql
    更改用户 mysql 的密码 。
    新的密码: 
    重新输入新的密码: 
    passwd:所有的身份验证令牌已经成功更新。
    [root@superman-21 ~]# 
    

55.4 创建数据盘

image-20221219190513462 说明:

  • 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二
  • 非性能测试时,在root权限下执行以下命令,创建数据目录即可。然后跳过本小节:
    # mkdir /data

55.4.1 方法一:在root权限下使用fdisk进行磁盘管理

  1. 创建分区(以/dev/sdb为例,根据实际情况创建)

    # fdisk /dev/sdb
    
  2. 输入n,按回车确认。

  3. 输入p,按回车确认。

  4. 输入1,按回车确认。

  5. 采用默认配置,按回车确认。

  6. 采用默认配置,按回车确认。

  7. 输入w,按回车保存。

    例如示例命令如下:

    [root@superman-21 ~]# fdisk /dev/sdb
    
    欢迎使用 fdisk (util-linux 2.37.2)。
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    设备不包含可识别的分区表。
    创建了一个磁盘标识符为 0x9ac1f07b 的新 DOS 磁盘标签。
    
    命令(输入 m 获取帮助):n
    分区类型
       p   主分区 (0 primary, 0 extended, 4 free)
       e   扩展分区 (逻辑分区容器)
    选择 (默认 p):p
    分区号 (1-4, 默认  1): 1
    第一个扇区 (2048-41943039, 默认 2048): 
    最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): 
    
    创建了一个新分区 1,类型为“Linux”,大小为 20 GiB。
    
    命令(输入 m 获取帮助):w
    分区表已调整。
    将调用 ioctl() 来重新读分区表。
    正在同步磁盘。
    
    [root@superman-21 ~]# 
    
  8. 创建文件系统(以xfs为例,根据实际需求创建文件系统)

    # mkfs.xfs /dev/sdb1
    

    例如示例命令如下:

    [root@superman-21 ~]# mkfs.xfs /dev/sdb1
    meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1    bigtime=0 inobtcount=0
    data     =                       bsize=4096   blocks=5242624, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@superman-21 ~]# 
    
  9. 创建“/data”文件夹以供操作系统挂载分区使用。

    # mkdir /data
    

    例如示例命令如下:

    [root@superman-21 ~]# mkdir /data    
    [root@superman-21 ~]# 
    
  10. 执行命令编辑“/etc/fstab”使重启后自动挂载数据盘。

    # echo "/dev/sdb1 /data                       xfs    defaults        1 1" >> /etc/fstab
    

    例如示例命令如下:

    [root@superman-21 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Nov 28 13:29:03 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    /dev/mapper/vg00-lv_root /                       ext4    defaults        1 1
    UUID=70c4f6e0-20be-46f8-93ba-97c8083bc37a /boot                   ext4    defaults        1 2
    /dev/mapper/vg00-lv_swap none                    swap    defaults        0 0
    [root@superman-21 ~]# 
    [root@superman-21 ~]# echo "/dev/sdb1 /data                       xfs    defaults        1 1" >> /etc/fstab
    [root@superman-21 ~]# 
    [root@superman-21 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Nov 28 13:29:03 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    /dev/mapper/vg00-lv_root /                       ext4    defaults        1 1
    UUID=70c4f6e0-20be-46f8-93ba-97c8083bc37a /boot                   ext4    defaults        1 2
    /dev/mapper/vg00-lv_swap none                    swap    defaults        0 0
    /dev/sdb1 /data                       xfs    defaults        1 1
    [root@superman-21 ~]# 
    
  11. 挂载数据盘。

    # mount -a
    

    例如示例命令如下:

    [root@superman-21 ~]# df -h
    文件系统                  容量  已用  可用 已用% 挂载点
    devtmpfs                  4.0M     0  4.0M    0% /dev
    tmpfs                     1.7G   12K  1.7G    1% /dev/shm
    tmpfs                     677M  9.1M  668M    2% /run
    tmpfs                     4.0M     0  4.0M    0% /sys/fs/cgroup
    /dev/mapper/vg00-lv_root   41G  2.9G   36G    8% /
    tmpfs                     1.7G     0  1.7G    0% /tmp
    /dev/sda1                 974M  249M  659M   28% /boot
    [root@superman-21 ~]# 
    [root@superman-21 ~]# mount -a
    [root@superman-21 ~]# 
    [root@superman-21 ~]# df -h
    文件系统                  容量  已用  可用 已用% 挂载点
    devtmpfs                  4.0M     0  4.0M    0% /dev
    tmpfs                     1.7G   12K  1.7G    1% /dev/shm
    tmpfs                     677M  9.1M  668M    2% /run
    tmpfs                     4.0M     0  4.0M    0% /sys/fs/cgroup
    /dev/mapper/vg00-lv_root   41G  2.9G   36G    8% /
    tmpfs                     1.7G     0  1.7G    0% /tmp
    /dev/sda1                 974M  249M  659M   28% /boot
    /dev/sdb1                  20G  175M   20G    1% /data
    [root@superman-21 ~]#
    

55.4.2 方法二:在root权限下使用LVM进行磁盘管理

image-20221219190513462 说明:
此步骤需要安装镜像中的lvm2相关包,步骤如下:

  1. 配置本地yum源,详细信息请参考《openEuler 22.03-LTS 搭建repo服务器》。如果已经执行,则可跳过此步。
  2. 在root权限下执行命令安装lvm2。
    # yum install lvm2
  1. 创建物理卷(sdb为硬盘名称,具体名字以实际为准)。

    # pvcreate /dev/sdb
    

    例如示例命令如下:

    [root@superman-21 ~]# pvcreate /dev/sdb
      Physical volume "/dev/sdb" successfully created.
    [root@superman-21 ~]# 
    
  2. 创建物理卷组(其中vg_data为创建的卷组名称,具体名字以实际规划为准)。

    # vgcreate vg_data /dev/sdb
    

    例如示例命令如下:

    [root@superman-21 ~]# vgcreate vg_data /dev/sdb
      Volume group "vg_data" successfully created
    [root@superman-21 ~]# 
    
  3. 创建逻辑卷(其中20G为规划的逻辑卷大小,具体大小以实际情况为准;lv_data为创建的逻辑卷的名字,具体名称以实际规划为准。)。

    # lvcreate -L 20476M -n lv_data vg_data
    

    例如示例命令如下:

    [root@superman-21 ~]# lvcreate -L 20476M -n lv_data vg_data 
      Logical volume "lv_data" created.
    [root@superman-21 ~]# 
    
  4. 创建文件系统。

    # mkfs.xfs /dev/vg_data/lv_data
    

    例如示例命令如下:

    [root@superman-21 ~]# mkfs.xfs /dev/vg_data/lv_data
    meta-data=/dev/vg_data/lv_data   isize=512    agcount=4, agsize=1310464 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1    bigtime=0 inobtcount=0
    data     =                       bsize=4096   blocks=5241856, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@superman-21 ~]# 
    
  5. 创建“/data”文件夹以供操作系统挂载分区使用。

    # mkdir /data
    

    例如示例命令如下:

    [root@superman-21 ~]# mkdir /data    
    [root@superman-21 ~]# 
    
  6. 执行命令编辑“/etc/fstab”使重启后自动挂载数据盘。

    # echo "/dev/vg_data/lv_data /data                       xfs    defaults        1 1" >> /etc/fstab
    

    例如示例命令如下:

    [root@superman-21 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Nov 28 13:29:03 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    /dev/mapper/vg00-lv_root /                       ext4    defaults        1 1
    UUID=70c4f6e0-20be-46f8-93ba-97c8083bc37a /boot                   ext4    defaults        1 2
    /dev/mapper/vg00-lv_swap none                    swap    defaults        0 0
    [root@superman-21 ~]# 
    [root@superman-21 ~]# echo "/dev/vg_data/lv_data /data                       xfs    defaults        1 1" >> /etc/fstab
    [root@superman-21 ~]# 
    [root@superman-21 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Nov 28 13:29:03 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    /dev/mapper/vg00-lv_root /                       ext4    defaults        1 1
    UUID=70c4f6e0-20be-46f8-93ba-97c8083bc37a /boot                   ext4    defaults        1 2
    /dev/mapper/vg00-lv_swap none                    swap    defaults        0 0
    /dev/vg_data/lv_data /data                       xfs    defaults        1 1
    [root@superman-21 ~]# 
    
  7. 挂载数据盘。

    # mount -a
    

    例如示例命令如下:

    [root@superman-21 ~]# df -h
    文件系统                  容量  已用  可用 已用% 挂载点
    devtmpfs                  4.0M     0  4.0M    0% /dev
    tmpfs                     1.7G   12K  1.7G    1% /dev/shm
    tmpfs                     677M  9.1M  668M    2% /run
    tmpfs                     4.0M     0  4.0M    0% /sys/fs/cgroup
    /dev/mapper/vg00-lv_root   41G  2.9G   36G    8% /
    tmpfs                     1.7G     0  1.7G    0% /tmp
    /dev/sda1                 974M  249M  659M   28% /boot
    [root@superman-21 ~]# 
    [root@superman-21 ~]# mount -a
    [root@superman-21 ~]# 
    [root@superman-21 ~]# df -h
    文件系统                     容量  已用  可用 已用% 挂载点
    devtmpfs                     4.0M     0  4.0M    0% /dev
    tmpfs                        1.7G   12K  1.7G    1% /dev/shm
    tmpfs                        677M  9.1M  668M    2% /run
    tmpfs                        4.0M     0  4.0M    0% /sys/fs/cgroup
    /dev/mapper/vg00-lv_root      41G  2.9G   36G    8% /
    tmpfs                        1.7G     0  1.7G    0% /tmp
    /dev/sda1                    974M  249M  659M   28% /boot
    /dev/mapper/vg_data-lv_data   20G  175M   20G    1% /data
    [root@superman-21 ~]#
    

55.5 创建数据库目录并且授权

在已创建的数据目录 /data 基础上,使用root权限继续创建进程所需的相关目录并授权MySQL用户(组)。

# mkdir -p /data/mariadb
# cd /data/mariadb
# mkdir data tmp run log
# chown -R mysql:mysql /data

例如示例命令如下:

[root@superman-21 ~]# mkdir -p /data/mariadb
[root@superman-21 ~]# 
[root@superman-21 ~]# cd /data/mariadb
[root@superman-21 mariadb]# 
[root@superman-21 mariadb]# mkdir data tmp run log
[root@superman-21 mariadb]# 
[root@superman-21 mariadb]# chown -R mysql:mysql /data
[root@superman-21 mariadb]# 

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

在这里插入图片描述

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

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

相关文章

【C语言】基础语法1:变量和数据类型

❤️‍🔥前情提要❤️‍🔥   欢迎来到C语言基本语法教程   在本专栏结束后会将所有内容整理成思维导图(结束换链接)并免费提供给大家学习,希望大家纠错指正。本专栏将以基础出发,在之后的教程中将会不断…

MySQL调优笔记——慢SQL优化记录(2)

今天调优的原因是,有一个统计报表业务,查询的时间太慢;同时由于数据库的压力是随机性的,这个业务的执行下限和上限相差近20倍;快的时候可以达到600ms,慢的时候有9秒之多; 接下来详细介绍&#x…

STL--string

一、string介绍 string是表示字符序列的对象。 标准字符串类通过类似于标准字节容器的接口为此类对象提供支持,但添加了专门设计用于处理单字节字符字符串的功能。 字符串类是 basic_string 类模板的实例化,该模板使用char作为其字符类型,以…

【云原生进阶之容器】第五章容器运行时5.7--容器逃逸原理

《云原生进阶之容器》专题索引: 第一章Docker核心技术1.1节——Docker综述第一章Docker核心技术1.2节——Linux容器LXC第一章Docker核心技术1.3节——命名空间Namespace第一章Docker核心技术1.4节——chroot技术第一章Docker核心技术1.5.1节——cgroup综述

为什么要对员工行为进行安全管控?

ChatGPT的火热已不是一件新鲜事了。而现在更让大家热议的是,ChatGPT带来的网络安全风险,不少安全人员对此担心不已。因ChatGPT引起的网络安全事件,媒体也多有报道。 例如,近日,外媒就报道了三星因ChatGPT泄露了机密信息…

ChatGPT - 基于 Visual Studio Code 进行 AI 编码

2023-04-15 周六 杭州 晴 前情提要 ChatGPT ,AutoGPT , AgentGPT 现在各种人工智能编码工具层出不穷,通过人工智能编码再也不用记大量的技术知识点了,现在所谓开发人员的经验性的东西也好像弱化了很多,我们可以更有效率的做自己…

Qt/QML编程学习之心得:QML界面设计(二)

都知道Qt是一种界面设计语言,那么它有几种设计方式UI technologies呢?答案是5种。 1、传统桌面所见即所得Classic desktop look-and-feel• Qt Widgets 2、 流畅、现代+触控Fluent, modern touch-based UX• Qt Quick 3、 三维3D becomes more and more important• Qt Open…

安全运营之资产安全信息管理

安全风险管理的三要素分别是资产、威胁和脆弱性,脆弱性的存在将会导致风险,而威胁主体利用脆弱性产生风险。网络攻击主要利用了系统的脆弱性。由于网络管理对象(资产)自身的脆弱性,使得威胁的发生成为可能,…

Linux 函数调用过程解析

一、Linux 函数调用过程解析 在x86的计算机系统中,内存空间中的栈主要用于保存函数的参数,返回值,返回地址,本地变量等。一切的函数调用都要将不同的数据、地址压入或者弹出栈。因此,为了更好地理解函数的调用&#xf…

QT 常见面试题

1、在Qt当中,多线程环境下,信号槽分别是在什么样的线程中执行?如何控制? 参考答案: 通过connect(...)第5个参数控制信号槽执行所在线程 connect(...)它的连接方式:队列连接、自动连接和直接连接 队列连…

EMC-MLCC电容反谐振点引起的RE辐射超标

MLCC电容反谐振点引起的RE辐射超标 对待RE辐射问题,可以按照干扰源,干扰路径,被干扰源,入手较多的是干扰源和干扰路径, 解决干扰源可以从展频,调频,屏蔽干扰源,增加RC snabber吸收…

ChatGPT颠覆者来了,能替代90%的人的工作?

前言 Auto GPT是一个实验性开源应用程序,展示了GPT-4语言模型的功能。该程序由GPT-4驱动,将LLM“思想”链接在一起,以自主实现您设定的任何目标。作为GPT-4完全自主运行的首批例子之一,Auto GPT突破了人工智能的极限。 特征 &a…

明面抵制,暗中布局 对于AI,马斯克的言行为何如此“割裂”?

最近,马斯克创建了一家叫做“X”的空壳公司,目标是将其打造成涵盖各方面的多功能应用集合平台,推特、SpaceX、特斯拉、Neuralink等公司业务都已打包加入其中。如今,“X”公司再添新丁——X.AI,即马斯克新成立的人工智能…

【硬件外设使用】——PWM

【硬件外设使用】——PWMPWM基本概念PWM使用方法pyb.pwm方法属性machine.pwm方法属性PWM可用的传感器PWM基本概念 PWM是脉冲宽度调制(Pulse Width Modulation)的缩写,是一种用数字信号控制模拟电路输出的技术。PWM通常被用来控制电压或电流的…

【 Spring MVC 核心功能(三) - 输出数据】

文章目录引言一、返回静态页面二、返回非静态页面的数据三、返回 JSON 对象四、请求转发(forward)和请求重定向(redirect)五、拓展:IDEA 热部署(热加载)3.1 添加 SpringBoot DevTools 框架3.2 开起 IDEA 的自动编译3.3 开起运行中的热部署3.4 使用 debug 启动项目引…

Docker系列 基于OpenAI API自建ChatGPT

转自我的博客文章https://blognas.hwb0307.com/linux/docker/4201,内容更新仅在个人博客可见。欢迎关注! 前言 我用帐号/密码使用chatGPT已经有一段时间。但是,我有几个私交较密的朋友,他们并不具备使用chatGPT的条件&#xff1b…

kafka集群topic重新分配leader

1.案例 当kafka集群的broker节点宕机重启后,此broker节点的partition分区的leader节点会被选举为其它broker节点,此broker节点恢复后就会导致配分不均衡 可以看到所有partition的leader节点都在broker id为1的节点上,原来是平均分配到3个broker节点上,replicas项的首位…

【动手学深度学习】(task123)注意力机制剖析

note 将注意力汇聚的输出计算可以作为值的加权平均,选择不同的注意力评分函数会带来不同的注意力汇聚操作。当查询和键是不同长度的矢量时,可以使用可加性注意力评分函数。当它们的长度相同时,使用缩放的“点-积”注意力评分函数…

文章改写工具-文章改写工具的原理

文章改写工具的原理 文章改写工具是一种利用自然语言处理技术和相关算法,对原始文章进行改写、调整或替换等操作,生成与原始文章类似但又不完全相同的新文章的工具。 实现文章改写的工具通常需要包括以下几个步骤: 文本预处理:对原…

【数据库数据恢复】MongoDB数据库启动失败的数据恢复案例

数据库数据恢复环境: Windows Server操作系统服务器,部署MongoDB数据库。 数据库故障&分析: 在MongoDB数据库服务未关闭的情况下,管理员将MongoDB数据库文件从原分区拷贝到其他分区,然后将MongoDB数据库所在原分区…