Entorno del sistema:
novato8.0.6 | 192.168.111.111 |
1. Instale mysql y descargue estas aplicaciones.
[root@localhost mysql]# yum list installed | grep mysql
mysql.x86_64 8.0.26-1.module+el8.4.0+652+6de068a7 @appstream
mysql-common.x86_64 8.0.26-1.module+el8.4.0+652+6de068a7 @appstream
mysql-errmsg.x86_64 8.0.26-1.module+el8.4.0+652+6de068a7 @appstream
mysql-server.x86_64 8.0.26-1.module+el8.4.0+652+6de068a7 @appstream
[root@localhost mysql]# yum list installed | grep mariadb
mariadb-connector-c-config.noarch 3.1.11-2.el8_3 @appstream
No se requiere contraseña al ingresar a mysql por primera vez. Por lo tanto, debe establecer su propia contraseña para ingresar a mysql. El código se muestra a continuación:
mysql> use mysql
mysql> alter user 'root'@'localhost' identified by '123456';
2. Crear LVM
Fuente de la imagen: explicación detallada de LVM para la administración de discos en Linux y comandos comunes de operación de disco del comando blog-CSDN blog_lvm de lvm_yg@hunter
1. Agregue un disco a la máquina virtual y particione.
Como se muestra en la figura siguiente, se agrega un disco sdb y el disco sdb se divide en una partición sdb1.
[root@localhost mysql]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 58G 0 part
├─rl-root 253:0 0 56G 0 lvm /
└─rl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 8G 0 disk
└─sdb1 8:17 0 8G 0 part
sr0 11:0 1 1024M 0 ro
Después de la creación, debe reiniciar o ejecutar "partprobe" para usarlo.
##重启磁盘
[root@localhost mysql]# partprobe
2. Cambie la partición al tipo lvm.
[root@localhost mysql]# fdisk /dev/sdb
Cambie /dev/sdb al modo LVM de Linux.
3. Cree un volumen físico (pv).
[root@localhost mysql]# pvcreate /dev/sdb1
WARNING: dos signature detected on /dev/sdb1 at offset 510. Wipe it? [y/n]: y
Wiping dos signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
[root@localhost mysql]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name rl
PV Size <58.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 14847
Free PE 0
Allocated PE 14847
PV UUID 29vJcC-MIan-Lfc5-Rc5F-e5Um-jPOd-Sktu1f
"/dev/sdb1" is a new physical volume of "<8.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size <8.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID CdPpfu-irJu-NkEM-brKk-qp3V-GKbh-P9bpLY
4. Cree un grupo de volúmenes (VG).
Al crear un grupo de volúmenes, también puede ver las ventajas de LVM. Puede combinar varios discos en un solo espacio.
Supongamos que hay dos particiones: /dev/sda1 y /dev/sdb1, pero estas dos particiones no están en la misma disco. .
Podemos usar vgcreate [nombre] /dev/sda1 /dev/sdb1 para combinar los dos espacios en un solo espacio para que lo use el siguiente volumen lógico (LV).
Y solo tengo un espacio de /dev/sdb1, así que usé uno.
### vgcreate [name] [指定的物理卷]
[root@localhost mysql]# vgcreate vgtest /dev/sdb1
Volume group "vgtest" successfully created
[root@localhost mysql]# vgdisplay
--- Volume group ---
VG Name vgtest
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <8.00 GiB
PE Size 4.00 MiB
Total PE 2047
Alloc PE / Size 0 / 0
Free PE / Size 2047 / <8.00 GiB
VG UUID K03kGL-RXk8-ZH89-NLFd-sVAV-S0mL-y4PZ6s
5. Cree un volumen lógico (LV)
lvcreate -L [卷的大小] -n [卷的名字] 卷组的名字
[root@localhost mysql]# lvcreate -L 5G -n lvtest vgtest
Logical volume "lvtest" created.
[root@localhost mysql]# lvdisplay
--- Logical volume ---
LV Path /dev/vgtest/lvtest
LV Name lvtest
VG Name vgtest
LV UUID DCnBvW-dBcP-tKke-unpZ-y1dT-jpeF-Ht3ujF
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-10-15 19:34:28 +0800
LV Status available
# open 0
LV Size 5.00 GiB
Current LE 1280
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
6. Formatear LV
[root@localhost mysql]# mkfs.
mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs
[root@localhost mysql]# mkfs.ext4 /dev/vgtest/lvtest
mke2fs 1.45.6 (20-Mar-2020)
创建含有 1310720 个块(每块 4k)和 327680 个inode的文件系统
文件系统UUID:87851c60-c35b-4db2-b4c3-fc6765973a62
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
Se pueden ver las diferencias entre cada tipo de formato:
7. montar
### 这个/mnt/mysql_lv将是我们数据库数据放的目录
[root@localhost mnt]# mount -t ext4 /dev/vgtest/lvtest /mnt/mysql_lv/
[root@localhost mnt]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 58G 0 part
├─rl-root 253:0 0 56G 0 lvm /
└─rl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 8G 0 disk
└─sdb1 8:17 0 8G 0 part
└─vgtest-lvtest 253:2 0 5G 0 lvm /mnt/mysql_lv
sr0 11:0 1 1024M 0 rom
[root@localhost mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 324M 0 324M 0% /dev
tmpfs 343M 0 343M 0% /dev/shm
tmpfs 343M 5.0M 338M 2% /run
tmpfs 343M 0 343M 0% /sys/fs/cgroup
/dev/mapper/rl-root 56G 2.6G 54G 5% /
/dev/sda1 2.0G 191M 1.9G 10% /boot
tmpfs 69M 0 69M 0% /run/user/0
/dev/mapper/vgtest-lvtest 4.9G 20M 4.6G 1% /mnt/mysql_lv
Este es un montaje temporal. El montaje desaparecerá la próxima vez que reinicie el servidor, por lo que deberá montarlo permanentemente.
8. Montar permanentemente.
[root@localhost mnt]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jun 28 13:43:47 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/rl-root / xfs defaults 0 0
UUID=47f5a72c-9eb0-427a-9636-d80cf01eec7f /boot xfs defaults 0 0
/dev/mapper/rl-swap none swap defaults 0 0
/dev/vgtest/lvtest /mnt/mysql_lv ext4 defaults 0 0
9. Modifique el propietario y el grupo de /mnt/mysql_lv.
[root@localhost mnt]# chown -R mysql:mysql /mnt/mysql_lv/
[root@localhost mnt]# ll
总用量 4
drwxr-xr-x. 2 root root 6 6月 28 21:45 hgfs
drwxr-xr-x 3 mysql mysql 4096 10月 15 19:40 mysql_lv
10. Migre los datos de la base de datos a /mnt/mysql_lv.
## 在迁移之前和修改默认文件之前,我希望你都可以备份一下原文件,养成好习惯。
mv /var/lib/mysql/* /mnt/mysql_lv/
##因为我的mysql是8.0.26版本的,所以修改默认配置文件可能不一样,不过修改的内容都一样。
[root@localhost my.cnf.d]# pwd
/etc/my.cnf.d
[root@localhost my.cnf.d]# cat client.cnf
[client]
port=3306
socket=/mnt/mysql_lv/mysql.sock
[client-mariadb]
[root@localhost my.cnf.d]# cat mysql-server.cnf
[mysqld]
#datadir=/var/lib/mysql
datadir=/mnt/mysql_lv
#socket=/var/lib/mysql/mysql.sock
socket=/mnt/mysql_lv/mysql.sock
#log-error=/var/log/mysql/mysqld.log
log-error=/mnt/mysql_lv/mysqld.log
#pid-file=/run/mysqld/mysqld.pid
pid-file=/mnt/mysql_lv/mysqld.pid
## 另一个文件不用改
reiniciar mysql
systemctl restart mysqld
10. Luego termina