Over a million developers have joined DZone.

Setting Up MySQL Without Root Access

This article covers how to install and run MySQL as a non-root user in Linux.

· Database Zone

Build fast, scale big with MongoDB Atlas, a hosted service for the leading NoSQL database. Try it now! Brought to you in partnership with MongoDB.

Many times, we have access to Linux boxes, but do not have access to root login or any sudo privileges. Hence this approach.

We are using the MySQL Community Edition 5.7.13


We untarred the downloaded mySQL into a src folder. For example : /users/mysql

We will refer to this as $MYSQL_HOME. Please make sure that this is set in the environments:

1. Create $MYSQL_HOME/data directory.

2. Create$MYSQL_HOME/log directory.


Change to  $MYSQL_HOME and create two files — my.ini and my.cnf
my.cnf has the following content:


my.ini has the following content:

export DATADIR=$BASE_DIR/data

Make sure that the entries are part of your environment (makes it easier to start the daemon).

The following command initializes the mySQL data base and creates the initial set of tables:


The log file will be stored in$MYSQL_HOME/log/mysql.err After the initial install, open the file to check the root password. You should see this line:

A temporary password is generated for root@localhost: XfU(%qmrk7)y

Take a note of this and then change it.

MySQL Daemon


In the $MYSQL_HOME/bin create a startup.sh file. the content of the file is as below:


Set the executable bit to 755 by executing chmod.


The file to shutdown should be placed in /srv/tempo/pgms/mysql/bin. The content is as below: The content should be executable:

export BASE=/srv/tempo/pgms/mysql
--socket=$BASE/socket shutdown -u root -p

This file should also have the executable bit set.

Starting MySQL

Navigate to $MYSQL_HOME and execute the ./startup.sh.

Stopping MySQL

Navigate to $MYSQL_HOME and execute the ./shutdown.sh.

You will be prompted to enter your password to proceed.

Note: You need a root user account to add this to init.d

Happy working on MySQL as non-root:-)

Note : This article is also published on my personal blog.

Now it's easier than ever to get started with MongoDB, the database that allows startups and enterprises alike to rapidly build planet-scale apps. Introducing MongoDB Atlas, the official hosted service for the database on AWS. Try it now! Brought to you in partnership with MongoDB.

mysql 5.7,mysql administration,linux,database,database administration

Published at DZone with permission of Vivek Raman. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}