{"id":10200,"date":"2026-01-06T05:11:30","date_gmt":"2026-01-06T05:11:30","guid":{"rendered":"https:\/\/ubiq.co\/tech-blog\/?p=10200"},"modified":"2026-01-26T06:15:25","modified_gmt":"2026-01-26T06:15:25","slug":"create-read-only-mysql-user","status":"publish","type":"post","link":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/","title":{"rendered":"How to Create Read Only MySQL User"},"content":{"rendered":"\n<p>MySQL is a popular database used by millions of websites, online stores and blogs all over the world. While working in a multi-user environment, database administrators need to often create read only users for MySQL database. This is commonly required in <a href=\"https:\/\/ubiq.co\/data-analysis-tool\">data analytics and reporting systems<\/a>, business intelligence scenarios and also in cases where an app\/service needs to be able to access your data. In this article, we will learn how to create a read only MySQL user.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#What_is_a_Read_Only_MySQL_User\" >What is a Read Only MySQL User<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#How_to_Create_Read_Only_MySQL_User\" >How to Create Read Only MySQL User<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#1_Log_into_MySQL_Database_as_adminroot_user\" >1. Log into MySQL Database as admin\/root user<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#2_Create_New_User\" >2. Create New User<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#3_Grant_Read-Only_Privileges\" >3. Grant Read-Only Privileges<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#For_All_Databases\" >For All Databases<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#For_All_Tables_in_One_Database\" >For All Tables in One Database<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#For_One_Table_Only\" >For One Table Only<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#For_Specific_Rows_Only\" >For Specific Rows Only<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#4_Apply_Changes\" >4. Apply Changes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#5_Exit_MySQL\" >5. Exit MySQL<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#6_Test_User\" >6. Test User<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#How_to_Check_if_MySQL_User_is_Read_Only\" >How to Check if MySQL User is Read Only<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#How_to_Revoke_Read_Only_Access_for_MySQL_user\" >How to Revoke Read Only Access for MySQL user<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_a_Read_Only_MySQL_User\"><\/span>What is a Read Only MySQL User<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>MySQL database allows you to create different types of users, with different levels of access and permissions. A read only MySQL user is able to read or view the MySQL data but not add, remove or modify data in your database. This is a very secure way to allow third-party or new users to access your system, protecting it from unauthorized changes. It is commonly required if you want to <a href=\"https:\/\/ubiq.co\/tech-blog\/enable-remote-access-mysql\/\">enable remote access<\/a> to your MySQL database. It is very important to understand this when you <a href=\"https:\/\/ubiq.co\/tech-blog\/top-5-online-resources-to-learn-mysql\/\">learn user management in MySQL<\/a>.<\/p>\n\n\n\n<p>MySQL allows you to easily control the access for a read only user. You can give read only access to one or more databases, without giving complete access. In this case, the user will not be able to even know that other databases exist in your system. You may even give read only access to one or more tables in a single database. In this case, the user will not be able to view other tables in your database. Please note, it is very easy to check if a user is a read only user, or to completely revoke read only permissions. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Create_Read_Only_MySQL_User\"><\/span>How to Create Read Only MySQL User<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>There are several ways to provide read only access to MySQL user. We will cover them one by one.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Log_into_MySQL_Database_as_adminroot_user\"><\/span>1. Log into MySQL Database as admin\/root user<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Only root and admin users have the permission to create new users in MySQL. So you will need to log in as one of them. Run the following command in terminal(Linux) or command prompt(Windows) to log in as root user. You will be prompted for password.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mysql -u root -p<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Create_New_User\"><\/span>2. Create New User<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Run the following command to create a new user. <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mysql&gt; CREATE USER 'readonly_user'@'%' IDENTIFIED BY 'password';<\/pre>\n\n\n\n<p>In the above command, please replace readonly_user and password with username and passwords of your choice. We have mentioned % in the above command to allow this user to be able to connect from any IP location. If you want to restrict this user to be able to connect from only specific IP address, then replace % with the IP address of your choice.<\/p>\n\n\n\n<p>In the above query, please remember to mention username and password within quotes.<\/p>\n\n\n\n<p>Please note, this new user will not have any permission. In other words, this user will be able to log into MySQL but not access any data. We will grant it privileges in the next step.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Grant_Read-Only_Privileges\"><\/span>3. Grant Read-Only Privileges<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>MySQL allows you to grant privileges using <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.4\/en\/grant.html\">GRANT<\/a> command. You can assign read only privileges using GRANT SELECT command. In MySQL, you can grant read only privileges to all databases, a single database, or even a single table. Depending on your requirement, run any of the following command.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"For_All_Databases\"><\/span>For All Databases<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">GRANT SELECT on *.* to 'readonly_user'@'%';<\/pre>\n\n\n\n<p>The above query will allow the new user to run SELECT queries on all databases running on your server. We have mentioned *.* to specify all databases and their tables. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"For_All_Tables_in_One_Database\"><\/span>For All Tables in One Database<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>If you want to give read only access to all tables of just 1 database, run the following query.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">GRANT SELECT on database_name.* to 'readonly_user'@'%';<\/pre>\n\n\n\n<p>In the above query, replace database_name with the name of the database for which you want to give access. If you want to give access to multiple databases, just run the above query with separate database names.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">GRANT SELECT on database1_name.* to 'readonly_user'@'%';<br>GRANT SELECT on database2_name.* to 'readonly_user'@'%';<br>GRANT SELECT on database3_name.* to 'readonly_user'@'%';<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"For_One_Table_Only\"><\/span>For One Table Only<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>If you want to give read only access to just one table, then run the following query. Replace database_name and table_name with names of database and table respectively.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">GRANT SELECT on database_name.table_name to 'readonly_user'@'%';<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"For_Specific_Rows_Only\"><\/span>For Specific Rows Only<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>If you want to allow users to read only specific rows in a table, then you need to create an SQL view that will fetch only those rows and then GRANT SHOW VIEW command for that database.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">CREATE VIEW view_name AS<br>SELECT columns<br>FROM table_name<br>WHERE condition;<\/pre>\n\n\n\n<p>Here is an example query to create a view.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">CREATE VIEW sales_view AS<br>SELECT *<br>FROM sales_data<br>WHERE amount&gt;200;<\/pre>\n\n\n\n<p>The above query will create a view named sales_view with rows from sales_data table where amount&gt;200. Next, run GRANT SHOW VIEW command to allow user to access this view.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">GRANT SHOW VIEW on database_name.* to 'readonly_user'@'%';<\/pre>\n\n\n\n<p><strong>Please Note:<\/strong> GRANT SELECT query only allows users to run SELECT queries on the database tables. It does not allow them to query the SQL VIEWS related to them. To provide such access, you need to include SHOW VIEW in GRANT command.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">GRANT SELECT, SHOW VIEW on database_name.* to 'readonly_user'@'%';<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_Apply_Changes\"><\/span>4. Apply Changes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>You need to run the FLUSH PRIVILEGES query to apply changes.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">FLUSH PRIVILEGES;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_Exit_MySQL\"><\/span>5. Exit MySQL <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Run the following command to exit MySQL console.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">exit<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"6_Test_User\"><\/span>6. Test User<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Log into MySQL as the new read only user to see if it is working properly.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mysql -u readonly_user -p<\/pre>\n\n\n\n<p>You will be prompted for password. Enter the password for this user to proceed.<\/p>\n\n\n\n<p>Once you have logged in, run the following query to see which database you can access.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">SHOW DATABASES;<\/pre>\n\n\n\n<p>The output will only list those databases where this user has access and not all databases. Thereafter, you can start running queries to read data, as per your requirement. If the output table does not list any databases, it means you still don&#8217;t have access to any database in system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Check_if_MySQL_User_is_Read_Only\"><\/span>How to Check if MySQL User is Read Only<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To check if a user has read only access, you need to first log into MySQL database as root or admin user. Then run the following SHOW GRANTS command for the said user.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">SHOW GRANTS FOR 'username'@'host';<\/pre>\n\n\n\n<p>If the user is a read only user, then output of above query will say &#8216;GRANT SELECT ON &#8230;&#8217;. If the user has other privileges such as DELETE, INSERT, UPDATE, etc. then they will also be shown additionally.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Revoke_Read_Only_Access_for_MySQL_user\"><\/span>How to Revoke Read Only Access for MySQL user<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>If you want to revoke read only permission for a given user then you need to use REVOKE SELECT ON query. You need to modify the query depending on your requirement. Here are some common use cases.<\/p>\n\n\n\n<p>Here is the query to revoke read only access on all databases and their tables.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">REVOKE SELECT ON *.* FROM 'username'@'hostname';<\/pre>\n\n\n\n<p>If you want to revoke read only access to only a single database, then use the following query instead.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">REVOKE SELECT ON database_name.* FROM 'username'@'hostname';<\/pre>\n\n\n\n<p>If you want to revoke read only access to only a single table and not the entire database, then replace * in above command with the table name.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">REVOKE SELECT ON database_name.table_name FROM 'username'@'hostname';<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In this article, we have learnt what a read only MySQL user is, why they are needed and how to create one. We have also covered various use cases to control read only access to databases, tables and even specific rows. Then we learnt how to check if a specific MySQL user is read only or not. Lastly, we have learnt how to completely revoke read only access in MySQL.<\/p>\n\n\n\n<p>Also read:<br><a href=\"https:\/\/ubiq.co\/tech-blog\/how-to-increase-max-connections-in-mysql\/\">How to Increase Max Connections in MySQL<\/a><br><a href=\"https:\/\/ubiq.co\/tech-blog\/unpivot-table-mysql\/\">How to Unpivot Table in MySQL<\/a><br><a href=\"https:\/\/ubiq.co\/tech-blog\/how-to-alter-column-from-null-to-not-null\/\">How to Alter Column from NULL to NOT NULL<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Often database administrators need to create read only users for MySQL. Here are the steps to give read only user access in MySQL.<\/p>\n","protected":false},"author":1,"featured_media":10217,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[324],"tags":[621],"class_list":["post-10200","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysql","tag-read-only-user"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Create Read Only MySQL User - Ubiq BI<\/title>\n<meta name=\"description\" content=\"Often database administrators need to create read only users for MySQL. Here are the steps to give read only user access in MySQL.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create Read Only MySQL User - Ubiq BI\" \/>\n<meta property=\"og:description\" content=\"Often database administrators need to create read only users for MySQL. Here are the steps to give read only user access in MySQL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/\" \/>\n<meta property=\"og:site_name\" content=\"Ubiq BI\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ubiqbi\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-06T05:11:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-26T06:15:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ubiq.co\/tech-blog\/wp-content\/uploads\/2026\/01\/create-read-only-user-mysql.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"301\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sreeram Sreenivasan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@UbiqBI\" \/>\n<meta name=\"twitter:site\" content=\"@UbiqBI\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sreeram Sreenivasan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/\"},\"author\":{\"name\":\"Sreeram Sreenivasan\",\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/#\\\/schema\\\/person\\\/db98d49a766a3a111d8510935ab90abc\"},\"headline\":\"How to Create Read Only MySQL User\",\"datePublished\":\"2026-01-06T05:11:30+00:00\",\"dateModified\":\"2026-01-26T06:15:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/\"},\"wordCount\":1198,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/ubiq.co\\\/tech-blog\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1\",\"keywords\":[\"read only user\"],\"articleSection\":[\"MySQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/\",\"url\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/\",\"name\":\"How to Create Read Only MySQL User - Ubiq BI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/ubiq.co\\\/tech-blog\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1\",\"datePublished\":\"2026-01-06T05:11:30+00:00\",\"dateModified\":\"2026-01-26T06:15:25+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/#\\\/schema\\\/person\\\/db98d49a766a3a111d8510935ab90abc\"},\"description\":\"Often database administrators need to create read only users for MySQL. Here are the steps to give read only user access in MySQL.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/ubiq.co\\\/tech-blog\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/ubiq.co\\\/tech-blog\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1\",\"width\":301,\"height\":200,\"caption\":\"create read only user in mysql\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/create-read-only-mysql-user\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Create Read Only MySQL User\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/#website\",\"url\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/\",\"name\":\"Ubiq BI\",\"description\":\"Build dashboards &amp; reports in minutes\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/#\\\/schema\\\/person\\\/db98d49a766a3a111d8510935ab90abc\",\"name\":\"Sreeram Sreenivasan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4b3127ed2d4bb8efb3fa0bbb52cf2efd4d0156c97fc05a503537c883e8279947?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4b3127ed2d4bb8efb3fa0bbb52cf2efd4d0156c97fc05a503537c883e8279947?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4b3127ed2d4bb8efb3fa0bbb52cf2efd4d0156c97fc05a503537c883e8279947?s=96&d=mm&r=g\",\"caption\":\"Sreeram Sreenivasan\"},\"description\":\"Sreeram Sreenivasan is the Founder of Ubiq. He has helped many Fortune 500 companies in the areas of BI &amp; software development.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/sreeram-sreenivasan\\\/\"],\"url\":\"https:\\\/\\\/ubiq.co\\\/tech-blog\\\/author\\\/wordpress\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Create Read Only MySQL User - Ubiq BI","description":"Often database administrators need to create read only users for MySQL. Here are the steps to give read only user access in MySQL.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/","og_locale":"en_US","og_type":"article","og_title":"How to Create Read Only MySQL User - Ubiq BI","og_description":"Often database administrators need to create read only users for MySQL. Here are the steps to give read only user access in MySQL.","og_url":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/","og_site_name":"Ubiq BI","article_publisher":"https:\/\/www.facebook.com\/ubiqbi","article_published_time":"2026-01-06T05:11:30+00:00","article_modified_time":"2026-01-26T06:15:25+00:00","og_image":[{"width":301,"height":200,"url":"https:\/\/ubiq.co\/tech-blog\/wp-content\/uploads\/2026\/01\/create-read-only-user-mysql.jpg","type":"image\/jpeg"}],"author":"Sreeram Sreenivasan","twitter_card":"summary_large_image","twitter_creator":"@UbiqBI","twitter_site":"@UbiqBI","twitter_misc":{"Written by":"Sreeram Sreenivasan","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#article","isPartOf":{"@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/"},"author":{"name":"Sreeram Sreenivasan","@id":"https:\/\/ubiq.co\/tech-blog\/#\/schema\/person\/db98d49a766a3a111d8510935ab90abc"},"headline":"How to Create Read Only MySQL User","datePublished":"2026-01-06T05:11:30+00:00","dateModified":"2026-01-26T06:15:25+00:00","mainEntityOfPage":{"@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/"},"wordCount":1198,"commentCount":0,"image":{"@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/ubiq.co\/tech-blog\/wp-content\/uploads\/2026\/01\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1","keywords":["read only user"],"articleSection":["MySQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/","url":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/","name":"How to Create Read Only MySQL User - Ubiq BI","isPartOf":{"@id":"https:\/\/ubiq.co\/tech-blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#primaryimage"},"image":{"@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/ubiq.co\/tech-blog\/wp-content\/uploads\/2026\/01\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1","datePublished":"2026-01-06T05:11:30+00:00","dateModified":"2026-01-26T06:15:25+00:00","author":{"@id":"https:\/\/ubiq.co\/tech-blog\/#\/schema\/person\/db98d49a766a3a111d8510935ab90abc"},"description":"Often database administrators need to create read only users for MySQL. Here are the steps to give read only user access in MySQL.","breadcrumb":{"@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#primaryimage","url":"https:\/\/i0.wp.com\/ubiq.co\/tech-blog\/wp-content\/uploads\/2026\/01\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1","contentUrl":"https:\/\/i0.wp.com\/ubiq.co\/tech-blog\/wp-content\/uploads\/2026\/01\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1","width":301,"height":200,"caption":"create read only user in mysql"},{"@type":"BreadcrumbList","@id":"https:\/\/ubiq.co\/tech-blog\/create-read-only-mysql-user\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ubiq.co\/tech-blog\/"},{"@type":"ListItem","position":2,"name":"How to Create Read Only MySQL User"}]},{"@type":"WebSite","@id":"https:\/\/ubiq.co\/tech-blog\/#website","url":"https:\/\/ubiq.co\/tech-blog\/","name":"Ubiq BI","description":"Build dashboards &amp; reports in minutes","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ubiq.co\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/ubiq.co\/tech-blog\/#\/schema\/person\/db98d49a766a3a111d8510935ab90abc","name":"Sreeram Sreenivasan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4b3127ed2d4bb8efb3fa0bbb52cf2efd4d0156c97fc05a503537c883e8279947?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4b3127ed2d4bb8efb3fa0bbb52cf2efd4d0156c97fc05a503537c883e8279947?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b3127ed2d4bb8efb3fa0bbb52cf2efd4d0156c97fc05a503537c883e8279947?s=96&d=mm&r=g","caption":"Sreeram Sreenivasan"},"description":"Sreeram Sreenivasan is the Founder of Ubiq. He has helped many Fortune 500 companies in the areas of BI &amp; software development.","sameAs":["https:\/\/www.linkedin.com\/in\/sreeram-sreenivasan\/"],"url":"https:\/\/ubiq.co\/tech-blog\/author\/wordpress\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/ubiq.co\/tech-blog\/wp-content\/uploads\/2026\/01\/create-read-only-user-mysql.jpg?fit=301%2C200&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pbGGTT-2Ew","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/posts\/10200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/comments?post=10200"}],"version-history":[{"count":24,"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/posts\/10200\/revisions"}],"predecessor-version":[{"id":10432,"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/posts\/10200\/revisions\/10432"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/media\/10217"}],"wp:attachment":[{"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/media?parent=10200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/categories?post=10200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubiq.co\/tech-blog\/wp-json\/wp\/v2\/tags?post=10200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}