MySQL之 mysqld 組建檔案的許可權與UMASK 的關係
今天因為binlog 檔案的許可權問題,最終追蹤是MySQL 安裝初始化指定了了MySQL使用者組建檔案的許可權,於是把問題記錄下來並做了總結:
1.預設情況下mysqld 程式生產的目錄的許可權是UMASK 的值是 0700,檔案的許可權是UMASK 的值是 0660.
[mysql@localhost ~]$ ll /export/servers/data/my3306/data/test/ -ld
drwx------. 2 mysql root 4096 6月 10 11:19 /export/servers/data/my3306/data/test/ #目錄 0700
[mysql@localhost ~]$ ll /export/servers/data/my3306/binlog/ -ld #檔案 0660
-rw-rw---- 1 mysql myinstall 150 9月 24 15:12 mysql-bin.000019
-rw-rw---- 1 mysql myinstall 150 9月 24 15:12 mysql-bin.000020
如果要修改mysqld 組建檔案的許可權,則增加環境變數到 mysql 的 .bash_profile .bashrc。
export UMASK=0600 #或者是十進位數值 =384 ,以 0 開頭的話就是八進位
export UMASK_DIR=0750
修改後:
[mysql@localhost ~]$ ll /export/servers/data/my3306/data/hhl -ld
drwx--x--- 2 mysql myinstall 4096 9月 24 15:34 /export/servers/data/my3306/data/hhl [mysql@localhost ~]$ ll /export/servers/data/my3306/binlog/ -l
-rw------- 1 mysql myinstall 450 9月 24 15:34 mysql-bin.000025 # 0600
-rw------- 1 mysql myinstall 188 9月 24 15:34 mysql-bin.000026
總結:這裡的UMASK 和 系統 的umask 不是一個含義,不要混淆了啊,UMASK變數控制了檔案產生的許可權,注意在mysql 許可權最小化控制選擇合適的許可權。
--------------------------------------分割線 --------------------------------------
Ubuntu 14.04下安裝MySQL
《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF
Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL
Ubuntu 14.04下搭建MySQL主從伺服器
Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集
Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb
MySQL-5.5.38通用二進位安裝
--------------------------------------分割線 --------------------------------------
本文永久更新連結地址: