MySQL - Administration



MySQL Server is the program that mainly executes the SQL queries in the database system. Hence it becomes necessary to optimize the working of this server. The general MySQL administration usually includes concepts like:

  • Starting and Stopping the Server

  • User Security

  • Database Maintenance

  • Backup & Restore

Start MySQL Server

We need to first start the MySQL server on the device in order to use it. One way to do so, is by executing the following command on the command prompt (run as an administrator) −

mysqld

We can also start the server by going through the services provided by the Windows and follow the steps below −

  • Open the 'Run' Window using the 'Windows+R' shortcut and run 'services.msc' through it.

  • Windows Services

  • Then, select the "MySQL80" service click "start" to start the server.

  • Start MySQL

Stop, Pause, Restart MySQL Server

Now, if you want to pause, stop or restart an already running MySQL server, then you can do it by opening the Windows Services and selecting the desired action −

To stop the MySQL Server, select the 'stop' option as shown in the image below −

Stop MySQL

To pause the MySQL Server, select the 'pause' option as shown in the image below −

Pause MySQL

We can also restart the MySQL server as needed, by selecting the 'restart' option as shown below −

Restart MySQL

Setting Up a MySQL User Account

For adding a new user to MySQL, you just need to add a new entry to the user table in the database mysql.

In the following example, we are creating a new user guest with the password guest123 on the 'localhost'. We are also granting all privileges required to executing SQL queries −

CREATE USER 'guest'@'localhost' IDENTIFIED BY 'guest123';

Now, execute the FLUSH PRIVILEGES statement. This tells the server to reload the grant tables. If you don't use it, then you won't be able to connect to MySQL using the new user account at least until the server is rebooted.

FLUSH PRIVILEGES;

Finally, you need to grant all privileges to this new user to execute SQL queries.

GRANT ALL PRIVILEGES ON * . * TO 'sample'@'localhost';

You can also specify other privileges to a new user by setting the values of following columns in 'user' table to 'Y' using the UPDATE query.

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

NOTE − MySQL does not terminate a command until you give a semi colon (;) at the end of the SQL command.

The /etc/my.cnf File Configuration

In most of the cases, you should not touch this file. By default, it will have the following entries −

[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock

[mysql.server]
user = mysql
basedir = /var/lib

[safe_mysqld]
err-log = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid

Here, you can specify a different directory for the error log, otherwise you should not change any entry in this table.

Administrative MySQL Commands

Here is the list of the important MySQL commands, which you will use time to time to work with MySQL database −

  • USE database_name − This will be used to select a database in the MySQL.

  • SHOW DATABASES − Lists out the databases that are accessible by the MySQL DBMS.

  • SHOW TABLES − Displays the list of the tables in the current database.

  • SHOW COLUMNS FROM table_name: Shows the attributes, types of attributes, key information, whether NULL is permitted, defaults, and other information for a table.

  • SHOW INDEX FROM table_name − Presents the details of all indexes on the table, including the PRIMARY KEY.

  • SHOW TABLE STATUS LIKE table_name\G − Reports details of the MySQL DBMS performance and statistics.

Advertisements