{"id":2240,"date":"2015-06-24T07:06:06","date_gmt":"2015-06-24T07:06:06","guid":{"rendered":"http:\/\/kedar.nitty-witty.com\/?p=2240"},"modified":"2023-05-11T07:47:57","modified_gmt":"2023-05-11T07:47:57","slug":"umask-umask_dir-changing-mysql-file-dir-permissions","status":"publish","type":"post","link":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions","title":{"rendered":"UMASK &#038; UMASK_DIR &#8211; changing default MySQL file dir permissions"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">UMASK and UMASK_DIR are amongst few MySQL Environment variables which defines directory and file creation modes (file permissions). In this post we will understand using UMASK &amp; UMASK_DIR for changing the database directory and file permissions from it&#8217;s default to what we need.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span style=\"color: #3366ff;\">Changing default MySQL permissions using UMASK &amp; UMASK_DIR<\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s build some background first. Earlier we learnt about <a href=\"http:\/\/kedar.nitty-witty.com\/setup-and-configure-mysql-backup-using-holland-and-xtrabackup\" target=\"_blank\" rel=\"nofollow noopener\">setting-up MySQL database backup using holland and xtrabackup<\/a>. As a routine I have seen database backups being run under users other than &#8220;mysql&#8221; or &#8220;root&#8221; for such physical backups (looking at security aspect). For that, we need to add this backup-user to mysql group and grant the group read and exec permissions on MySQL datadir.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Adding backup user to mysql group:\nusermod -a -G mysql backup\n\nGranting group-read,execute permissions to backup user (on MySQL datadir):\nchmod g+rx \/mysql\/data -R\n<\/pre>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">The backup running from &#8220;backup&#8221; user will be able to read the datadir contents and thus backup will succeed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now the fact is by default, MySQL creates database and RAID directories with an access permission value of 0700. So, whenever a new database is created it will not have group-read,execute permissions on them. Thus our xtrabackup will fail reading those files\/folders, until we grant the group-read,execute permissions.<br>This fails our backup. The simple fix to this is manually granting read,execute permission on new database directory to the backup user.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the background and now we&#8217;re going to answer it \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What if MySQL create databases with the permission we need: user=all, group=read,execute, others=none (750)!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We can do this using UMASK and UMASK_DIR system variables. UMASK defines the mode for files creation while UMASK_DIR is the base mode for directory creation. Yes, UMASK \/ UMASK_DIR actually are modes and not masks despite the name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We need 740 permissions for files and 750 for directories, so those will be our respective modes. Let&#8217;s see how we get that&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Add following lines to MySQL startup script:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[backup@mysql \/mysql\/data]# vi \/etc\/init.d\/mysqld\n\n\tUMASK=0640\n\texport UMASK\n\tUMASK_DIR=0750\n\texport UMASK_DIR\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">(Here \/mysql\/data is MySQL datadir)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Restart MySQL and create database &amp; table.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[backup@mysql \/mysql\/data]# \/etc\/init.d\/mysqld restart\nShutting down MySQL ..... SUCCESS!\nStarting MySQL .. SUCCESS!\n[backup@mysql \/mysql\/data]#  mysql -e \"create database abc; use abc;create table a(id int);\"; ls -l | grep abc;ls -l abc\/;\ndrwxr-x---. 2 mysql mysql      4096 Jun 23 08:23 abc\ntotal 16\n-rw-r-----. 1 mysql mysql 8556 Jun 23 08:23 a.frm\n-rw-r-----. 1 mysql mysql   65 Jun 23 08:23 db.opt\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Note that under \/mysql\/data (MySQL datadir), we&#8217;ve proper group permissions provided as well as the datafiles are having group read permissions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Well this ends our fix here, we fixed directory &amp; file permissions for MySQL datadir go grant group user rx (read,execute) access. Though how does this work is a little more than simply setting umask &amp; umask_dir environment variables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s get into slight detail:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>UMASK is the user-file creation mode when creating files.\nUMASK_DIR is the user-directory creation mode when creating directories.\n<\/em><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The UMASK and UMASK_DIR variables, despite their names, are used as modes, not masks. Read this again, <span style=\"text-decoration: underline;\">MODES not MASKS.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And &#8220;Modes&#8221; are the permissions given to users, groups and\/or the &#8216;other&#8217; class to access files. That&#8217;s why we set the UMASK &amp; UMASK directory values according to the desired permissions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MySQL Documentation on UMASK and file permissions:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>If UMASK is set, mysqld uses ($UMASK | 0600) as the mode for file creation, so that newly created files have a mode in the range from 0600 to 0666 (all values octal).\n<\/em><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Calculations:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">($UMASK | 0600)\n=&gt; 740 | 600 \n=&gt; 740\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">So that&#8217;s how we get our 740 permissions for MySQL datafiles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MySQL Documentation on UMASK_DIR and directory permissions:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>If UMASK_DIR is set, mysqld uses ($UMASK_DIR | 0700) as the base mode for directory creation, which then is AND-ed with ~(~$UMASK &amp; 0666), so that newly created directories have a mode in the range from 0700 to 0777 (all values octal). The AND operation may remove read and write permissions from the directory mode, but not execute permissions.\n<\/em><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">From above documentation quote, our equation resolves as follows:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">($UMASK_DIR | 0700) AND ~(~$UMASK &amp; 0666)\nConsider, UMASK_DIR=750 and UMASK=740\n=&gt; ( ~( ~0740 &amp; 0666) &amp; 0750 ) \n=&gt; ( ~( 0037 &amp; 0666) &amp; 0750 ) \n=&gt; ( ~( 0026 ) &amp; 0750 ) \n=&gt; ( 0751 &amp; 0750 ) \n=&gt; ( 0750 )\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That is how the directory permissions are set.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the MySQL bug-report (see references) we have a feature request for introducing new variables, $MYSQL_FILE_MODE &amp; $MYSQL_DIRECTORY_MODE and deprecating &amp; discarding the confusing ones, $UMASK &amp; $UMASK_DIR.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hope this helps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">References:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>https:\/\/dev.mysql.com\/doc\/refman\/5.6\/en\/environment-variables.html<\/li>\n\n\n\n<li>https:\/\/dev.mysql.com\/doc\/refman\/5.6\/en\/file-permissions.html<\/li>\n\n\n\n<li>https:\/\/bugs.mysql.com\/bug.php?id=35090<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"UMASK and UMASK_DIR are amongst few MySQL Environment variables which defines directory and file creation modes (file permissions). In this post we will understand using UMASK &amp; UMASK_DIR for changing the database directory and file permissions from it&#8217;s default to what we need.\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[8,377],"tags":[582,427,404,405],"class_list":["post-2240","post","type-post","status-publish","format-standard","category-mysql","category-mysql-articles","tag-datadir-permissions","tag-mysql","tag-umask","tag-umask_dir"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"We will understand using UMASK &amp; UMASK_DIR in MySQL for changing the default database directory and file permissions from it&#039;s default.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Kedar\"\/>\n\t<meta name=\"google-site-verification\" content=\"_Bu1h5r0PxIC0D2jBVdmYN45RTeG9ogcX85XLkbG1qA\" \/>\n\t<meta name=\"msvalidate.01\" content=\"116B62074CBCA1BA99B8CCE09CCF2FB8\" \/>\n\t<meta name=\"keywords\" content=\"umask,umask_dir,default permissions,mysql,mysql umask,linux,database permission,change umask,umask for mysql,datadir permissions\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Change Is Inevitable | Kedar Vaijanapurkar&#039;s Blog for MySQL, technology and various subjects\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"UMASK &amp; UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable\" \/>\n\t\t<meta property=\"og:description\" content=\"We will understand using UMASK &amp; UMASK_DIR in MySQL for changing the default database directory and file permissions from it&#039;s default.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-06-24T07:06:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-05-11T07:47:57+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"UMASK &amp; UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable\" \/>\n\t\t<meta name=\"twitter:description\" content=\"We will understand using UMASK &amp; UMASK_DIR in MySQL for changing the default database directory and file permissions from it&#039;s default.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#article\",\"name\":\"UMASK & UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable\",\"headline\":\"UMASK &#038; UMASK_DIR &#8211; changing default MySQL file dir permissions\",\"author\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Kedar\"},\"datePublished\":\"2015-06-24T07:06:06+00:00\",\"dateModified\":\"2023-05-11T07:47:57+00:00\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#webpage\"},\"articleSection\":\"MySQL, MySQL-Articles, datadir permissions, MySQL, UMASK, UMASK_DIR\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql#listItem\",\"name\":\"MySQL\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql#listItem\",\"position\":2,\"name\":\"MySQL\",\"item\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\\\/mysql-articles#listItem\",\"name\":\"MySQL-Articles\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\\\/mysql-articles#listItem\",\"position\":3,\"name\":\"MySQL-Articles\",\"item\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\\\/mysql-articles\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#listItem\",\"name\":\"UMASK &#038; UMASK_DIR &#8211; changing default MySQL file dir permissions\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql#listItem\",\"name\":\"MySQL\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#listItem\",\"position\":4,\"name\":\"UMASK &#038; UMASK_DIR &#8211; changing default MySQL file dir permissions\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/category\\\/mysql\\\/mysql-articles#listItem\",\"name\":\"MySQL-Articles\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#person\",\"name\":\"Kedar\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Kedar\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin#author\",\"url\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin\",\"name\":\"Kedar\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Kedar\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#webpage\",\"url\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions\",\"name\":\"UMASK & UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable\",\"description\":\"We will understand using UMASK & UMASK_DIR in MySQL for changing the default database directory and file permissions from it's default.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/umask-umask_dir-changing-mysql-file-dir-permissions#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/author\\\/admin#author\"},\"datePublished\":\"2015-06-24T07:06:06+00:00\",\"dateModified\":\"2023-05-11T07:47:57+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/\",\"name\":\"..::CHANGE is INEVITABLE::..\",\"description\":\"Kedar Vaijanapurkar's Blog for MySQL, technology and various subjects\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/kedar.nitty-witty.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"UMASK & UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable","description":"We will understand using UMASK & UMASK_DIR in MySQL for changing the default database directory and file permissions from it's default.","canonical_url":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions","robots":"max-image-preview:large","keywords":"umask,umask_dir,default permissions,mysql,mysql umask,linux,database permission,change umask,umask for mysql,datadir permissions","webmasterTools":{"google-site-verification":"_Bu1h5r0PxIC0D2jBVdmYN45RTeG9ogcX85XLkbG1qA","msvalidate.01":"116B62074CBCA1BA99B8CCE09CCF2FB8","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#article","name":"UMASK & UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable","headline":"UMASK &#038; UMASK_DIR &#8211; changing default MySQL file dir permissions","author":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin#author"},"publisher":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g","width":96,"height":96,"caption":"Kedar"},"datePublished":"2015-06-24T07:06:06+00:00","dateModified":"2023-05-11T07:47:57+00:00","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#webpage"},"isPartOf":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#webpage"},"articleSection":"MySQL, MySQL-Articles, datadir permissions, MySQL, UMASK, UMASK_DIR"},{"@type":"BreadcrumbList","@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/kedar.nitty-witty.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql#listItem","name":"MySQL"}},{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql#listItem","position":2,"name":"MySQL","item":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql","nextItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles#listItem","name":"MySQL-Articles"},"previousItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles#listItem","position":3,"name":"MySQL-Articles","item":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles","nextItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#listItem","name":"UMASK &#038; UMASK_DIR &#8211; changing default MySQL file dir permissions"},"previousItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql#listItem","name":"MySQL"}},{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#listItem","position":4,"name":"UMASK &#038; UMASK_DIR &#8211; changing default MySQL file dir permissions","previousItem":{"@type":"ListItem","@id":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles#listItem","name":"MySQL-Articles"}}]},{"@type":"Person","@id":"https:\/\/kedar.nitty-witty.com\/blog\/#person","name":"Kedar","image":{"@type":"ImageObject","@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g","width":96,"height":96,"caption":"Kedar"}},{"@type":"Person","@id":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin#author","url":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin","name":"Kedar","image":{"@type":"ImageObject","@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/be1f7021485c325d92cc4c5d961accb9c1af72b1b11281a790f7f4f066ef10d3?s=96&d=mm&r=g","width":96,"height":96,"caption":"Kedar"}},{"@type":"WebPage","@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#webpage","url":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions","name":"UMASK & UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable","description":"We will understand using UMASK & UMASK_DIR in MySQL for changing the default database directory and file permissions from it's default.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions#breadcrumblist"},"author":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin#author"},"creator":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/author\/admin#author"},"datePublished":"2015-06-24T07:06:06+00:00","dateModified":"2023-05-11T07:47:57+00:00"},{"@type":"WebSite","@id":"https:\/\/kedar.nitty-witty.com\/blog\/#website","url":"https:\/\/kedar.nitty-witty.com\/blog\/","name":"..::CHANGE is INEVITABLE::..","description":"Kedar Vaijanapurkar's Blog for MySQL, technology and various subjects","inLanguage":"en-US","publisher":{"@id":"https:\/\/kedar.nitty-witty.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"Change Is Inevitable | Kedar Vaijanapurkar's Blog for MySQL, technology and various subjects","og:type":"article","og:title":"UMASK &amp; UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable","og:description":"We will understand using UMASK &amp; UMASK_DIR in MySQL for changing the default database directory and file permissions from it's default.","og:url":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions","article:published_time":"2015-06-24T07:06:06+00:00","article:modified_time":"2023-05-11T07:47:57+00:00","twitter:card":"summary","twitter:title":"UMASK &amp; UMASK_DIR - changing default MySQL file dir permissions | Change Is Inevitable","twitter:description":"We will understand using UMASK &amp; UMASK_DIR in MySQL for changing the default database directory and file permissions from it's default."},"aioseo_meta_data":{"post_id":"2240","title":"UMASK &amp; UMASK_DIR - changing default MySQL file dir permissions | #site_title","description":"We will understand using UMASK &amp; UMASK_DIR in MySQL for changing the default database directory and file permissions from it's default.","keywords":[{"label":"UMASK","value":"UMASK"},{"label":"UMASK_DIR","value":"UMASK_DIR"},{"label":"default permissions","value":"default permissions"},{"label":"mysql","value":"mysql"},{"label":"mysql umask","value":"mysql umask"},{"label":"linux","value":"linux"},{"label":"database permission","value":"database permission"},{"label":"change umask","value":"change umask"},{"label":"umask for mysql","value":"umask for mysql"}],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-24 17:40:44","updated":"2025-08-16 19:14:53","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/kedar.nitty-witty.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\" title=\"MySQL\">MySQL<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles\" title=\"MySQL-Articles\">MySQL-Articles<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tUMASK &amp; UMASK_DIR \u2013 changing default MySQL file dir permissions\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/kedar.nitty-witty.com\/blog"},{"label":"MySQL","link":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql"},{"label":"MySQL-Articles","link":"https:\/\/kedar.nitty-witty.com\/blog\/category\/mysql\/mysql-articles"},{"label":"UMASK &#038; UMASK_DIR &#8211; changing default MySQL file dir permissions","link":"https:\/\/kedar.nitty-witty.com\/blog\/umask-umask_dir-changing-mysql-file-dir-permissions"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/comments?post=2240"}],"version-history":[{"count":11,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2240\/revisions"}],"predecessor-version":[{"id":2878,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2240\/revisions\/2878"}],"wp:attachment":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/media?parent=2240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/categories?post=2240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/tags?post=2240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}