mysql.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Fri, 22 Jan 2016 20:13:53 +0200
changeset 1875 340162fb09a2
parent 1854 9b224b68c1e1
child 1876 653a83760554
permissions -rw-r--r--
Stop selected process

.. -*- coding: utf-8; -*-
.. include:: HEADER.rst

================
 MySQL/MariaBD.
================
.. contents::

SQL clients.
============

  https://mariadb.com/kb/en/mariadb/clients-and-utilities/
     Clients and Utilities.
  https://mariadb.com/kb/en/mariadb/graphical-and-enhanced-clients/
     Graphical and Enhanced Clients.

mysql.
------

Official client. Install ``mariadb-client`` package - ``mysql`` utility
will be installed with dependent package.

Usage::

  $ mysql -u $USER -p
  Enter password:   <== Type password.

To save content of session interaction in ``mysql`` use::

  mysql> tee out.txt

mycli.
------

Python command line client with completion. Usage::

  $ mycli -u $USER
  Password:         <== Type password.

List databases, tables, columns.
================================
::

  $ mysql -u $USER -p
  Enter password:   <== Type password.

  SHOW DATABASES;

  USE mysql;
  MariaDB [mysql]> SHOW TABLES;

  MariaDB [mysql]> SHOW COLUMNS FROM user;

  MariaDB [mysql]> DESCRIBE user;

  MariaDB [mysql]> SHOW STATUS;

  MariaDB [mysql]> SHOW CREATE DATABASE mysql;
  MariaDB [mysql]> SHOW CREATE TABLE user;

  MariaDB [mysql]> SHOW GRANTS;

System information.
===================

Server version, platform, etc::

  [mysql]> SHOW VARIABLES LIKE "%version%";

Debugging queries error.
========================

After error or warning run::

  MariaDB [mysql]> SHOW WARNINGS;
  MariaDB [mysql]> SHOW ERRORS;
  MariaDB [mysql]> show engine innodb status;

Debugging quiery performance.
=============================
::

  explain select 1;

..

  https://mariadb.com/kb/en/mariadb/explain/
    Syntax and transcription of EXPLAIN.

Monitor server execution.
=========================

List all current executions::

  MariaDB [mysql]> show processlist;

Stop selected process::

  MariaDB [mysql]> kill 12;

Dump execution plan for selected process::

  MariaDB [mysql]> show explain for 1;

.. NOTE::
   You shoud check for code ``1003``::

     MariaDB [mysql]> show warnings;

   to ensure for which query plan shown becase query may finished and new
   started.

See:

 * `SHOW EXPLAIN in MariaDB 10.0 vs EXPLAIN FOR CONNECTION in MySQL 5.7
   <http://s.petrunia.net/blog/?p=89>`_

Profiling queries.
==================

Enable profiling, execute query and review profiling data::

  [mysql]> set profiling=1;
  [mysql]> select 1;
  [mysql]> show profile;

Each profiled query results stored separately. To get list of results::

  [mysql]> show profiles;

To retrieve selected profiling data::

  [mysql]> show profile for query 1;