ในบทความนี้ฉันจะแสดงวิธีการติดตั้ง MariaDB บน OpenBSD 6 และกำหนดค่าให้สามารถเข้าถึงเว็บเซิร์ฟเวอร์ chrooted (Apache หรือ Nginx) นอกจากนี้คุณยังจะได้เรียนรู้วิธีทำให้ MariaDB พร้อมใช้งานสำหรับแอปพลิเคชันที่ไม่ได้ chrooted
หมายเหตุ: คำสั่งทั้งหมดในบทช่วยสอนนี้จะต้องดำเนินการด้วยสิทธิ์พิเศษในหน้าต่างบรรทัดคำสั่ง
มีการทดสอบขั้นตอนต่าง ๆ ในการติดตั้ง OpenBSD 6.1 AMD64
การเตรียมการ
ตรวจสอบให้แน่ใจว่าPKG_PATH
มีการกำหนดค่าตัวแปรสภาพแวดล้อม
echo $PKG_PATH
ถ้ามันว่างเปล่าให้กำหนดค่าด้วยคำสั่งต่อไปนี้:
export PKG_PATH=http://ftp3.usa.OpenBSD.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/
ขั้นตอนที่ 1: ติดตั้ง MariaDB
pkg_add -v mariadb-server
ขั้นตอนที่ 2: เปิดใช้งาน MariaDB เพื่อเริ่มการบูทระบบ
rcctl enable mysqld
ขั้นตอนที่ 3: เริ่ม MariaDB
/usr/local/bin/mysql_install_db
หาก MariaDB ของคุณคาดว่าจะให้บริการปริมาณการเข้าชมจำนวนมากให้ผนวกบรรทัดต่อไปนี้เข้ากับไฟล์/etc/login.conf
:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
รันคำสั่งต่อไปนี้เพื่อสร้างรูปแบบไบนารีของlogin.conf
ไฟล์
cap_mkdb /etc/login.conf
ขั้นตอนที่ 5: รักษาความปลอดภัยการติดตั้ง
เรียกใช้คำสั่งการติดตั้งที่ปลอดภัยเพื่อทำให้ MariaDB ยากยิ่งขึ้นที่จะประนีประนอม
/usr/local/bin/mysql_secure_installation
ตอบคำถามเมื่อได้รับแจ้งให้ตั้งรหัสผ่านรูทลบฐานข้อมูลทดสอบและปิดใช้งานการล็อกอินรูทระยะไกล รหัสผ่านเริ่มต้นสำหรับรูทว่างเปล่า
ขั้นตอนที่ 6: เปลี่ยนตำแหน่งซ็อกเก็ต MariaDB
เปลี่ยนตำแหน่งซ็อกเก็ต MariaDB เพื่อให้สามารถเข้าถึงได้จากสภาพแวดล้อมที่ chrooted
ค่าเริ่มต้นhttpd
ในฐานหรือnginx
ในพอร์ตจะถูก chrooted ไป/var/www
ดังนั้นให้ใส่ซ็อกเก็ตใน/var/www/var/run/mysql/mysql.sock
เพื่อให้ดูเหมือนว่าจะเป็น/var/run/mysql/mysql.sock
เว็บเซิร์ฟเวอร์ chrooted
สร้างไดเรกทอรี:
install -d -m 0711 -o _mysql -g _mysql /var/www/var/run/mysql
/etc/my.cnf
แก้ไข ในทั้ง[client]
ส่วนและ[mysqld]
ส่วนเปลี่ยนบรรทัดที่อ่าน:
socket = /var/run/mysql/mysql.sock
ถึง:
socket = /var/www/var/run/mysql/mysql.sock
ขั้นตอนที่ 7: เริ่ม MariaDB ด้วยตนเอง
rcctl start mysqld
ขั้นตอนที่ 8: ทดสอบ MariaDB
ตอนนี้ทดสอบ MariaDB โดยเรียกใช้คำสั่งต่อไปนี้
mysql -uroot -p
ตรวจสอบว่าคุณสามารถเข้าสู่ระบบด้วยรหัสผ่านที่คุณตั้งไว้ในขั้นตอนก่อนหน้า
ขั้นตอนที่ 9: สร้างลิงค์นุ่ม
เราจำเป็นต้องสร้างซอฟต์ลิงค์สำหรับmysql
โฟลเดอร์เพื่อให้สามารถเข้าถึง MariaDB สำหรับแอพพลิเคชั่นที่ไม่ได้ chrooted หลังจากเปลี่ยนmysql.sock
เป็น/var/www/var/run/mysql
ไดเรกทอรีแล้วแอปพลิเคชั่นที่ไม่ใช่ chrooted บางโปรแกรมอาจไม่สามารถค้นหาได้ หากเป็นกรณีนี้เราสามารถแก้ไขได้โดยการสร้างลิงก์นุ่ม ๆ ไปยัง/var/www/var/run/mysql
ไดเรกทอรีใน/var/run/
(ตำแหน่งเริ่มต้นmysql.sock
)
ln -s /var/www/var/run/mysql /var/run/
ตอนนี้เพื่อทำการเปลี่ยนแปลงนี้อย่างถาวร เมื่อ OpenBSD เริ่มต้นมันจะล้างทุกอย่างภายใต้/var/run
ไดเรกทอรีดังนั้นเราจำเป็นต้องสร้างซอฟต์ลิงค์ใหม่ทุกครั้งที่รีบูต เราสามารถทำเช่นนี้โดยการใส่คำสั่งจากขั้นตอนที่ 9 /etc/rc.local
ในไฟล์ที่เรียกว่า ไฟล์นี้จะถูกเรียกใช้งานโดยสคริปต์เริ่มต้นเมื่อสิ้นสุดกระบวนการเริ่มต้น /etc/rc.local
ไฟล์ไม่ได้อยู่โดยค่าเริ่มต้น คุณสามารถสร้างขึ้นมาได้โดยการคัดลอกจากไฟล์ตัวอย่างที่มาพร้อมกับ OpenBSD และต่อท้ายลิงค์ซอฟต์
cp /etc/examples/rc.local /etc/
echo "ln -s /var/www/var/run/mysql /var/run/" >> /etc/rc.local
ข้อสรุป
แค่นั้นแหละ. เซิร์ฟเวอร์ MariaDB ของคุณพร้อมแล้วที่จะไป
ทราบเกี่ยวกับ MariaDB อีกประการหนึ่งคือการตั้งค่าในmax_allowed_packet
/etc/my.cnf
ค่าเริ่มต้น1M
สำหรับ[mysqld]
ส่วน หากคุณพบปัญหาเมื่อนำเข้าไฟล์การถ่ายโอนข้อมูลจากเซิร์ฟเวอร์อื่นให้ลองเพิ่มไปที่16M
หรือ64M
จากนั้นรีสตาร์ท MariaDB