文章目录
- 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.2.1 关闭防火墙并取消开机自启动
说明:
测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。
-
在root权限下停止防火墙。
# systemctl stop firewalld
例如示例命令如下:
[root@superman-21 ~]# systemctl stop firewalld [root@superman-21 ~]#
-
在root权限下关闭防火墙。
# systemctl disable firewalld
说明:
执行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
-
永久关闭,在root权限下修改配置文件。
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
说明:
重启后生效。
例如示例命令如下:
[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 ~]#
-
临时关闭
# setenforce 0
说明:
即时生效,但重启后会自动开启。
例如示例命令如下:
[root@superman-21 ~]# setenforce 0 setenforce: SELinux is permissive [root@superman-21 ~]#
59.2.3 创建组和用户
说明:
服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。本章节创建的组和用户都是操作系统层面的,不是数据库层面的。
-
在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 ~]#
-
在root权限下设置MySQL用户密码。
# passwd mysql
需要重复输入密码(根据实际需求设置密码)。
例如示例命令如下:
[root@superman-21 ~]# passwd mysql 更改用户 mysql 的密码 。 新的密码: 重新输入新的密码: passwd:所有的身份验证令牌已经成功更新。 [root@superman-21 ~]#
59.2.4 创建数据盘
说明:
- 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二
- 非性能测试时,在root权限下执行以下命令,创建数据目录即可。然后跳过本小节:
# mkdir /data
59.2.4.1 方法一:在root权限下使用fdisk进行磁盘管理
-
创建分区(以/dev/sdb为例,根据实际情况创建)
# fdisk /dev/sdb
-
输入n,按回车确认。
-
输入p,按回车确认。
-
输入1,按回车确认。
-
采用默认配置,按回车确认。
-
采用默认配置,按回车确认。
-
输入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 ~]#
-
创建文件系统(以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 ~]#
-
创建“/data”文件夹以供操作系统挂载分区使用。
# mkdir /data
例如示例命令如下:
[root@superman-21 ~]# mkdir /data [root@superman-21 ~]#
-
执行命令编辑“/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 ~]#
-
挂载数据盘。
# 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进行磁盘管理
说明:
此步骤需要安装镜像中的lvm2相关包,步骤如下:
- 配置本地yum源,详细信息请参考《openEuler 22.03-LTS 搭建repo服务器》。如果已经执行,则可跳过此步。
- 在root权限下执行命令安装lvm2。
# yum install lvm2
-
创建物理卷(sdb为硬盘名称,具体名字以实际为准)。
# pvcreate /dev/sdb
例如示例命令如下:
[root@superman-21 ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created. [root@superman-21 ~]#
-
创建物理卷组(其中vg_data为创建的卷组名称,具体名字以实际规划为准)。
# vgcreate vg_data /dev/sdb
例如示例命令如下:
[root@superman-21 ~]# vgcreate vg_data /dev/sdb Volume group "vg_data" successfully created [root@superman-21 ~]#
-
创建逻辑卷(其中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 ~]#
-
创建文件系统。
# 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 ~]#
-
创建“/data”文件夹以供操作系统挂载分区使用。
# mkdir /data
例如示例命令如下:
[root@superman-21 ~]# mkdir /data [root@superman-21 ~]#
-
执行命令编辑“/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 ~]#
-
挂载数据盘。
# 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]#
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!