MySQL之 mysqld 組建檔案的許可權與UMASK 的關係

來源:互聯網
上載者:User

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通用二進位安裝

--------------------------------------分割線 --------------------------------------

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.