Bii o ṣe le Yi Ayipada data MySQL/MariaDB Aiyipada pada ni Lainos
Lẹhin fifi awọn paati ti akopọ LAMP sori olupin CentOS/RHEL 7, awọn nkan meji wa ti o le fẹ ṣe.
Diẹ ninu wọn ni lati ṣe pẹlu jijẹ aabo ti Apache ati MySQL/MariaDB, lakoko ti awọn miiran le wulo tabi kii ṣe gẹgẹ bi iṣeto wa tabi awọn aini.
Fun apeere, da lori lilo ti a reti ti olupin data, a le fẹ lati yi itọsọna data aiyipada (/var/lib/mysql
) lọ si ipo miiran. Eyi ni ọran nigbati iru itọsọna bẹ nireti lati dagba nitori ilo ga.
Bibẹẹkọ, eto faili nibiti /var
ti wa ni fipamọ le ṣubu ni aaye kan ti o fa ki gbogbo eto naa kuna. Ohn miiran nibiti yiyipada itọsọna aiyipada ni nigbati a ni ipin nẹtiwọọki ifiṣootọ kan ti a fẹ lati lo lati tọju data gangan wa.
Fun idi eyi, ninu nkan yii, a yoo ṣalaye bi o ṣe le yipada aiyipada data data MySQL/MariaDB si ọna ti o yatọ lori olupin CentOS/RHEL 7 ati awọn pinpin Ubuntu/Debian.
Botilẹjẹpe a yoo lo MariaDB, awọn imọran ti o ṣalaye ati awọn igbesẹ ti a ṣe ninu nkan yii lo mejeeji si MySQL ati si MariaDB ayafi ti a ṣe akiyesi bibẹkọ.
Yiyipada Ilana data MySQL/MariaDB aiyipada
Akiyesi: A yoo ro pe ilana data tuntun wa ni /mnt/mysql-data
. O ṣe pataki lati ṣe akiyesi pe itọsọna yii yẹ ki o jẹ ti mysql: mysql
.
# mkdir /mnt/mysql-data # chown -R mysql:mysql /mnt/mysql-data
Fun irọrun rẹ, a ti pin ilana naa si awọn igbesẹ 5 rọrun-lati-tẹle:
Lati bẹrẹ, o yẹ ati daradara lati ṣe idanimọ itọsọna data lọwọlọwọ nipa lilo aṣẹ atẹle. Maṣe ro pe o tun jẹ /var/lib/mysql
nitori o le ti yipada ni igba atijọ.
# mysql -u root -p -e "SELECT @@datadir;"
Lẹhin ti o tẹ ọrọ igbaniwọle MySQL sii, iṣẹjade yẹ ki o jẹ iru si.
Lati yago fun ibajẹ data, da iṣẹ duro ti o ba n ṣiṣẹ lọwọlọwọ ṣaaju ṣiṣe. Lo awọn ofin ti o mọ daradara lati ṣe bẹ:
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status OR # service mysql stop # service mysql status
Ti o ba ti mu iṣẹ naa sọkalẹ, ṣiṣe ti aṣẹ to kẹhin yẹ ki o jẹ atẹle:
Lẹhinna daakọ lẹẹkọọkan awọn akoonu ti /var/lib/mysql
si /mnt/mysql-data
toju awọn igbanilaaye akọkọ ati awọn akoko aago:
# cp -R -p /var/lib/mysql/* /mnt/mysql-data
Ṣatunkọ faili iṣeto ( my.cnf
) lati tọka itọsọna data tuntun (/mnt/mysql-data
ninu ọran yii).
# vi /etc/my.cnf OR # vi /etc/mysql/my.cnf
Wa awọn apakan [mysqld]
ati [alabara]
ki o ṣe awọn ayipada wọnyi:
Under [mysqld]: datadir=/mnt/mysql-data socket=/mnt/mysql-data/mysql.sock Under [client]: port=3306 socket=/mnt/mysql-data/mysql.sock
Fipamọ awọn ayipada ati lẹhinna tẹsiwaju pẹlu igbesẹ ti n tẹle.
Igbesẹ yii wulo nikan si RHEL/CentOS ati awọn itọsẹ rẹ.
Ṣafikun ọgangan aabo SELinux si /mnt/mysql-data
ṣaaju ki o to tun bẹrẹ MariaDB.
# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?" # restorecon -R /mnt/mysql-data
Nigbamii tun bẹrẹ iṣẹ MySQL.
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status OR # service mysql stop # service mysql status
Bayi, lo aṣẹ kanna bi ni Igbesẹ 1 lati ṣayẹwo ipo ti itọsọna data tuntun:
# mysql -u root -p -e "SELECT @@datadir;"
Wọle si MariaDB, ṣẹda ibi ipamọ data tuntun lẹhinna ṣayẹwo /mnt/mysql-data
:
# mysql -u root -p -e "CREATE DATABASE tecmint;"
Oriire! O ti yipada ni itọsọna data fun MySQL tabi MariaDB.
Ninu ifiweranṣẹ yii, a ti jiroro bi a ṣe le yi itọsọna data pada ninu olupin MySQL tabi olupin MariaDB ti n ṣiṣẹ lori awọn kaakiri CentOS/RHEL 7 ati awọn pinpin Ubuntu/Debian.
Ṣe o ni awọn ibeere tabi awọn asọye nipa nkan yii? Ni ominira lati jẹ ki a mọ nipa lilo fọọmu ti o wa ni isalẹ - a ni idunnu nigbagbogbo lati gbọ lati ọdọ rẹ!