![Microsoft გამოაქვეყნებს ერთი თვისების განახლებას Windows 11 – ისთვის ყოველწლიურად](/f/6d5646aa67ec49bd17966de8e35a3b64.jpg?width=100&height=100)
ა კომპონენტების დაყენების შემდეგ LAMP დასტა CentOS/RHEL 7 სერვერზე, არის რამოდენიმე რამ რისი გაკეთებაც გსურთ.
ზოგიერთ მათგანს აქვს კავშირი Apache და MySQL / MariaDB უსაფრთხოების გაზრდა, ხოლო სხვები შეიძლება იყოს გამოყენებული ან არა ჩვენი კონფიგურაციის ან საჭიროებების შესაბამისად.
მაგალითად, მონაცემთა ბაზის სერვერის სავარაუდო გამოყენების საფუძველზე, ჩვენ გვსურს შეცვალოთ ნაგულისხმევი მონაცემები დირექტორია (/var/lib/mysql
) სხვა ადგილას. ეს ის შემთხვევაა, როდესაც მოსალოდნელია, რომ ასეთი დირექტორია გაიზრდება მაღალი გამოყენების გამო.
წინააღმდეგ შემთხვევაში, ფაილური სისტემა სად არის /var
შენახული შეიძლება დაიშალოს ერთ მომენტში, რის შედეგადაც მთელი სისტემა ჩავარდება. კიდევ ერთი სცენარი, სადაც ნაგულისხმევი დირექტორიის შეცვლაა, როდესაც ჩვენ გვაქვს გამოყოფილი ქსელის წილი, რომლის გამოყენებაც ჩვენ გვსურს ჩვენი რეალური მონაცემების შესანახად.
ამ მიზეზით, ამ სტატიაში ჩვენ განვმარტავთ, თუ როგორ უნდა შეიცვალოს ნაგულისხმევი MySQL/MariaDB მონაცემთა დირექტორია სხვა გზაზე CentOS/RHEL 7 სერვერზე და Ubuntu/Debian დისტრიბუციებზე.
მიუხედავად იმისა, რომ ჩვენ გამოვიყენებთ მარია დბ, ახსნილი ცნებები და ამ სტატიაში გადადგმული ნაბიჯები ვრცელდება ორივეზე MySQL და მარია დბ თუ სხვაგვარად არ არის მითითებული.
შენიშვნა: ჩვენ ვაპირებთ ვივარაუდოთ, რომ ჩვენი ახალი მონაცემთა დირექტორია /mnt/mysql-data
. მნიშვნელოვანია აღინიშნოს, რომ ეს დირექტორია უნდა იყოს საკუთრებაში mysql: mysql
.
# mkdir /mnt /mysql-data. # chown -R mysql: mysql /mnt /mysql -data.
თქვენი მოხერხებულობისთვის, ჩვენ პროცესი დავყავით 5 მარტივად შესასრულებელ ნაბიჯად:
დასაწყებად, ღირს და კარგად უნდა დადგინდეს მიმდინარე მონაცემთა დირექტორია შემდეგი ბრძანების გამოყენებით. ნუ იფიქრებთ, რომ ის ჯერ კიდევ არის /var/lib/mysql
ვინაიდან ის შეიძლება შეიცვალოს წარსულში.
# mysql -u root -p -e "SELECT @@ datadir;"
მას შემდეგ რაც შეიყვანთ MySQL პაროლს, გამომავალი უნდა იყოს მსგავსი.
მონაცემთა გაფუჭების თავიდან ასაცილებლად, შეწყვიტეთ სერვისი, თუ ის ამჟამად მუშაობს სანამ გააგრძელებთ. გამოიყენეთ სისტემატიზირებული ცნობილი ბრძანებები ამისათვის:
SystemD– ზე # systemctl stop mariadb. # systemctl არის აქტიური მარიადბი SysVInit– ზე # სერვისი mysqld გაჩერება. # სერვისი mysqld სტატუსი ან # სერვისი mysql გაჩერება. # სერვისის mysql სტატუსი.
თუ სერვისი დაიშალა, ბოლო ბრძანების გამომავალი უნდა იყოს შემდეგი:
შემდეგ დააკოპირეთ შინაარსი რეკურსიულად /var/lib/mysql
რათა /mnt/mysql-data
ორიგინალური ნებართვებისა და დროის ნიშნულების დაცვა:
# cp -R -p/var/lib/mysql/*/mnt/mysql -data.
შეცვალეთ კონფიგურაციის ფაილი (my.cnf
) მიუთითოს ახალი მონაცემთა დირექტორია (/mnt/mysql-data
ამ შემთხვევაში).
# vi /etc/my.cnf. ან # vi /etc/mysql/my.cnf.
განთავსება [mysqld]
და [კლიენტი]
სექციები და განახორციელეთ შემდეგი ცვლილებები:
ქვეშ [mysqld]: datadir =/mnt/mysql-data. სოკეტი =/mnt/mysql-data/mysql.sock [კლიენტის] ქვეშ: პორტი = 3306. სოკეტი =/mnt/mysql-data/mysql.sock.
შეინახეთ ცვლილებები და შემდეგ გააგრძელეთ შემდეგი ნაბიჯი.
ეს ნაბიჯი გამოიყენება მხოლოდ RHEL/CentOS და მისი წარმოებულები.
დაამატეთ SELinux უსაფრთხოების კონტექსტი /mnt/mysql-data
MariaDB- ის გადატვირთვამდე.
# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?" # restorecon -R /mnt /mysql -data.
შემდეგ გადატვირთეთ MySQL სერვისი.
SystemD– ზე # systemctl stop mariadb. # systemctl არის აქტიური მარიადბი SysVInit– ზე # სერვისი mysqld გაჩერება. # სერვისი mysqld სტატუსი ან # სერვისი mysql გაჩერება. # სერვისის mysql სტატუსი.
ახლა გამოიყენეთ იგივე ბრძანება, როგორც აქ Ნაბიჯი 1 ახალი მონაცემთა დირექტორიის ადგილმდებარეობის შესამოწმებლად:
# mysql -u root -p -e "SELECT @@ datadir;"
შედით MariaDB– ში, შექმენით ახალი მონაცემთა ბაზა და შემდეგ შეამოწმეთ /mnt/mysql-data
:
# mysql -u root -p -e "შექმენით მონაცემთა ბაზა tecmint;"
გილოცავთ! თქვენ წარმატებით შეცვალეთ მონაცემთა დირექტორია MySQL ან MariaDB.
ამ პოსტში ჩვენ განვიხილეთ, თუ როგორ უნდა შეიცვალოს მონაცემთა დირექტორია MySQL ან MariaDB სერვერზე CentOS/RHEL 7 და Ubuntu/Debian დისტრიბუციებზე.
გაქვთ რაიმე შეკითხვა ან კომენტარი ამ სტატიასთან დაკავშირებით? მოგერიდებათ შეგვატყობინოთ ქვემოთ მოცემული ფორმის გამოყენებით - ჩვენ ყოველთვის სიამოვნებით გისმენთ თქვენგან!