Otu esi agbanwe akwụkwọ ndekọ data MySQL/MariaDB na Linux


Mgbe ị wụnyechara ihe mejupụtara ngwugwu LAMP na sava CentOS/RHEL 7, enwere ihe ole na ole ị ga-achọ ime.

Ụfọdụ n'ime ha nwere ihe jikọrọ ya na ịbawanye nchekwa nke Apache na MySQL/MariaDB, ebe ndị ọzọ nwere ike ọdabara ma ọ bụ na ọ bụghị dịka nhazi ma ọ bụ mkpa anyị siri dị.

Dịka ọmụmaatụ, dabere na ojiji a na-atụ anya iji ihe nkesa nchekwa data, anyị nwere ike ịchọ ịgbanwe ndekọ data ndabara (/var/lib/mysql) gaa n'ebe dị iche. Nke a bụ ikpe mgbe a na-atụ anya na akwụkwọ ndekọ aha ga-eto n'ihi nnukwu ojiji.

Ma ọ bụghị ya, sistemụ faịlụ ebe /var echekwara nwere ike daa n'otu oge na-eme ka sistemụ niile daa. Ihe atụ ọzọ ebe ịgbanwe ndekọ ndabara bụ mgbe anyị nwere oke netwọkụ raara onwe ya nye anyị chọrọ iji chekwaa data anyị n'ezie.

Maka nke a, n'isiokwu a, anyị ga-akọwa otu esi agbanwe ndekọ data MySQL/MariaDB ndabara na ụzọ dị iche na nkesa CentOS/RHEL 7 na nkesa Ubuntu/Debian.

N'agbanyeghị na anyị ga-eji MariaDB, echiche ndị akọwara na usoro ndị e mere n'isiokwu a na-emetụta ma MySQL na MariaDB ọ gwụla ma amataghị ya.

Ịgbanwe ndabere MySQL/MariaDB Data ndekọ

Mara: Anyị ga-eche na akwụkwọ ndekọ data ọhụrụ anyị bụ /mnt/mysql-data. Ọ dị mkpa ịmara na ndekọ a kwesịrị ịbụ nke mysql:mysql nwe ya.

# mkdir /mnt/mysql-data
# chown -R mysql:mysql /mnt/mysql-data

Maka ịdị mma gị, anyị ekewala usoro a n'ime usoro 5 dị mfe iji:

Iji malite, ọ bụ ihe kwesịrị ekwesị na nke ọma iji chọpụta ndekọ ndekọ data dị ugbu a site na iji iwu na-esonụ. Echela na ọ ka bụ /var/lib/mysql ebe ọ bụ na enwere ike gbanwee ya n'oge gara aga.

# mysql -u root -p -e "SELECT @@datadir;"

Mgbe itinyechara paswọọdụ MySQL, mmepụta kwesịrị ịdị ka.

Iji zere nrụrụ data, kwụsị ọrụ ma ọ bụrụ na ọ na-agba ọsọ ugbu a tupu ịga n'ihu. Jiri iwu amaara nke ọma sistemu mee nke a:

------------- On SystemD ------------- 
# systemctl stop mariadb
# systemctl is-active mariadb

------------- On SysVInit ------------- 
# service mysqld stop
# service mysqld status

OR

# service mysql stop
# service mysql status

Ọ bụrụ na ewedatala ọrụ ahụ, nsonaazụ nke iwu ikpeazụ kwesịrị ịbụ nke a:

Wee detuo ọdịnaya nke /var/lib/mysql ugboro ugboro ka ọ bụrụ /mnt/mysql-data na-echekwa ikike na akara oge mbụ:

# cp -R -p /var/lib/mysql/* /mnt/mysql-data

Dezie faịlụ nhazi (my.cnf) iji gosi ndekọ ndekọ data ọhụrụ (/mnt/mysql-data na nke a).

# vi /etc/my.cnf
OR
# vi /etc/mysql/my.cnf

Chọta ngalaba [mysqld] na [onye ahịa] wee mee mgbanwe ndị a:

Under [mysqld]:
datadir=/mnt/mysql-data
socket=/mnt/mysql-data/mysql.sock

Under [client]:
port=3306
socket=/mnt/mysql-data/mysql.sock

Chekwaa mgbanwe ndị ahụ wee gaa n'ihu na nzọụkwụ ọzọ.

Nzọụkwụ a bụ naanị maka RHEL/CentOS na usoro ya.

Tinye ọnọdụ nchekwa SELinux na /mnt/mysql-data tupu ịmalitegharịa MariaDB.

# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?"
# restorecon -R /mnt/mysql-data

Ọzọ malitegharịa ọrụ 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

Ugbu a, jiri otu iwu ahụ dị na Nzọụkwụ 1 iji chọpụta ebe ndekọ data ọhụrụ dị:

# mysql -u root -p -e "SELECT @@datadir;"

Banye na MariaDB, mepụta nchekwa data ọhụrụ wee lelee /mnt/mysql-data:

# mysql -u root -p -e "CREATE DATABASE tecmint;"

Ekele! Ị gbanweela ndekọ data maka MySQL ma ọ bụ MariaDB nke ọma.

Na post a, anyị atụlewo otu esi agbanwe ndekọ data na MySQL ma ọ bụ nkesa MariaDB na-agba ọsọ na nkesa CentOS/RHEL 7 na Ubuntu/Debian.

Ị nwere ajụjụ ọ bụla ma ọ bụ kwuo gbasara akụkọ a? Enwere onwe gị ime ka anyị mara site na iji ụdị dị n'okpuru - anyị na-enwe obi ụtọ mgbe niile ịnụ gị!