รัน mysql_secure_installation ขึ้น Read-only file system

หลังจากติดตั้ง MySQL แล้ว แนะนำให้รัน mysql_secure_installation เพื่อเปลี่ยนคอนฟิกเริ่มต้นเช่น password ในการเรียกใช้ database

แต่ถ้ารันคำสั่งนี้ในขณะที่อยู่ในไดเร็คทอรีที่ไม่สามารถเขียนไฟล์ได้ (read-only) เช่นอยู่ในไดเร็คทอรีที่ mount CD หรือ DVD  จะขึ้น error ตามด้านล่าง

[root@fc11-64min Packages]# pwd
/media/Packages
[root@fc11-64min Packages]# mysql_secure_installation
touch: cannot touch `.my.cnf.2100': Read-only file system
touch: cannot touch `.mysql.2100': Read-only file system
chmod: cannot access `.my.cnf.2100': No such file or directory
chmod: cannot access `.mysql.2100': No such file or directory
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
/usr/bin/mysql_secure_installation: line 47: .my.cnf.2100: Read-only file system
/usr/bin/mysql_secure_installation: line 48: .my.cnf.2100: Read-only file system
/usr/bin/mysql_secure_installation: line 49: .my.cnf.2100: Read-only file system
/usr/bin/mysql_secure_installation: line 50: .my.cnf.2100: Read-only file system
/usr/bin/mysql_secure_installation: line 41: .mysql.2100: Read-only file system
/usr/bin/mysql_secure_installation: line 42: .mysql.2100: No such file or directory
Enter current password for root (enter for none):
Aborting!
Cleaning up...
rm: cannot remove `.my.cnf.2100': Read-only file system
rm: cannot remove `.mysql.2100': Read-only file system

เหตุผลคือ การรันคำสั่ง mysql_secure_installation มีการเขียนไฟล์ชั่วคราว (temporary file) ขึ้นมาในไดเร็คทอรีปัจจุบันด้วย ดังนั้น ต้องเปลี่ยนไปรันใน path ที่สามารถเขียนไฟล์ได้

[root@fc11-64min Packages]# cd ~
[root@fc11-64min ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):

ตัวอย่างไฟล์ชั่วคราวที่ถูกสร้างระหว่างรัน mysql_secure_installation

[root@fc11-64min ~]# ls -al .my*
-rw-------. 1 root root 68 2009-07-18 19:23 .my.cnf.2111
-rw-------. 1 root root  1 2009-07-18 19:23 .mysql.2111

ข้อมูลอ้างอิง

Leave a Reply