> 文章列表 > 59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境

59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境

59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境

文章目录

    • 59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境
      • 59.1 软件介绍
      • 59.2 配置环境
        • 59.2.1 关闭防火墙并取消开机自启动
        • 59.2.2 修改SELINUX为disabled
        • 59.2.3 创建组和用户
        • 59.2.4 创建数据盘
          • 59.2.4.1 方法一:在root权限下使用fdisk进行磁盘管理
          • 59.2.4.1 方法二:在root权限下使用LVM进行磁盘管理
        • 59.2.5 创建数据库目录并且授权

59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境

59.1 软件介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL是业界最流行的RDBMS (Relational Database Management System,关系数据库管理系统)之一,尤其在WEB应用方面。

关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就加快了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权模式,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

59.2 配置环境

59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境 说明:
以下环境配置仅为参考示例,具体配置视实际需求做配置

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

59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境 说明:
测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

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

    # systemctl stop firewalld
    

    例如示例命令如下:

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

    # systemctl disable firewalld
    

    59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境 说明:
    执行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 ~]# 
    

59.2.2 修改SELINUX为disabled

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

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

    59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境 说明:

    重启后生效。

    例如示例命令如下:

    [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
    

    59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境 说明:

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

    例如示例命令如下:

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

59.2.3 创建组和用户

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

  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 ~]# 
    

59.2.4 创建数据盘

59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境 说明:

  • 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二
  • 非性能测试时,在root权限下执行以下命令,创建数据目录即可。然后跳过本小节:
    # mkdir /data
59.2.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 ~]#
    
59.2.4.1 方法二:在root权限下使用LVM进行磁盘管理

59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境 说明:
此步骤需要安装镜像中的lvm2相关包,步骤如下:

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

    # pvcreate /dev/sdb
    

    例如示例命令如下:

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

    # vgcreate vg_data /dev/sdb
    

    例如示例命令如下:

    [root@superman-21 ~]# vgcreate vg_data /dev/sdbVolume 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 ~]#
    

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

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

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

例如示例命令如下:

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

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

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

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

59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境