{{tag>Server mysql percona mariadb databases errors}}

====== MySql ======

===== Установка =====

MariaDB 10:
<code bash>
$ apt-get install libmariadbclient18 libmysqlclient18 mariadb-client mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common  mariadb-server
</code>

Percona 5.6:
<code bash>
$ install percona-server-common-5.6 percona-server-server percona-server-client
</code>

===== Инициализация =====

<code>
dpkg-reconfigure mysql-server-5.1 - запуск настройки
mysql_upgrade -u root -p --force - ремонт баз данных
mysqlcheck -uroot -p --auto-repair --check --optimize --all-databases - ремонт баз данных

mysql_install_db - создание mysql database
mysql_install_db --rpm --user=mysql
mysql_install_db --defaults-file=/etc/mysql/my.cnf
mysql_install_db --no-defaults --basedir=/usr --datadir=/var/lib/mysql
mysql_install_db --defaults-file=/etc/mysql/my.cnf --force --basedir=/usr --datadir=/var/lib/mysql --user=mysql
</code>

===== Настройка, оптимизация и обслуживание =====

  * [[mysql:my.cnf|]]
  * [[optimize|]]
  * [[mysql:dump-restore]]
  * [[mysql:manage]]
  * [[mysql:diff]]
  * [[develop:mysql]]
  * [[mysql:profiler|]]
  * [[sql:mysql]]
  * [[mysql:errors]]

===== Описание движков и их особенностей =====

  * [[db:mysql:engines:myisam|MyISAM, Aria]]
  * [[db:mysql:engines:innodb|InnoDB, XtraDB]]
  * [[db:mysql:engines]]

==== Клиенты / Утилиты ====

  * [[develop:dbeaver|]] ([[os:windows|Windows]], [[os:macos|MacOS]], [[os:linux|Linux]]) на базе eclipse :!:
  * [[mysql:mysql_utils|]] :!: - Архивирование БД (Ориентировался на Debian архитектуру)
  * [[https://github.com/robmorgan/phinx|Миграции]]
  * http://www.chive-project.com
  * https://www.phpmyadmin.net/
  * http://www.enginsite.com/MySQL-client-manager-and-GUI-for-MySQL.htm
  * http://www.heidisql.com/
  * **https://www.adminer.org/** (1 файл)
  * http://www.sequelpro.com/ ([[os:macos|MacOS]])


===== Ссылки / Документация / Примеры =====

==== Примеры ====


  * [[:Закрепить запись наверху при выборке|Закрепить запись наверху при выборке]]
  * [[sql:order fields by id|выбрать записи с определёнными id соблюдая порядок]]
  * [[sql:mysql:update-someself]] How can i update itself in mysql/mariadb
  * [[sql:mysql:select]]
  * [[sql:mysql:select:field_in_set]]
  * [[deadlock|deadlock]] - Взаимная блокировка
==== Ссылки / Документация ====


  * [[http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html|A Visual Explanation of SQL Joins]]
  * [[http://www.collation-charts.org/mysql60|mysql collation charts]]
  * [[http://pratchev.blogspot.com/2007/02/convert-tree-structure-from-nested-set.html|Convert Tree Structure From Nested Set Into Adjacency List]]
  * [[http://data.bangtech.com/sql/nested_set_treeview.htm|Convert an adjacency list (parent / child) model into a nested set model]]
  * [[http://www.sitepoint.com/hierarchical-data-database|Storing Hierarchical Data in a Database Article]]
  * http://www.sql.ru/
  * http://eddnet.org/?cat=102
  * [[http://habrahabr.ru/post/46542/|Блокировки в MySQL]]
  * http://oksoft.blogspot.in/2008/10/mysqldump-backups-and-transfers.html
  * http://www.sqlstyle.guide/
  * http://sqlinfo.ru
  * http://www.sql.ru/
  * [[http://rmcreative.ru/blog/post/mnozhestvennyy-update-v-mysql|Множественный UPDATE в MySQL]]
  * [[http://rmcreative.ru/blog/post/toggle-dlja-mysql|toggle для mysql]] — С логическими операциями у MySQL всё в полном порядке.
  * [[http://rmcreative.ru/blog/post/mysql-slozhenie-i-null|MySQL, сложение и NULL]] — см. COALESCE.
  * [[http://rmcreative.ru/blog/post/mysql-dobavit-esli-eschjo-net|Добавить если ещё нет, вставить если нет и обновить если есть]]
  * [[http://rmcreative.ru/blog/post/mysql_client_compress|Сжатие данных при передаче и MySQL]]
  * [[http://rmcreative.ru/blog/post/nagruzhaem-mysql|Нагружаем MySQL]]
  * [[http://rmcreative.ru/blog/post/utf8_unicode_ci-ili-utf8_general_ci|utf8_unicode_ci или utf8_general_ci?]]
  * [[http://www.artfulsoftware.com/infotree/queries.php#122|Common MySQL Queries]]
  * http://h1d3.org/posts/mariadb-master-master.html
  * [[http://www.sql-ex.ru/|Отличная обучалка]]
  * [[http://rmcreative.ru/blog/post/zakrepit-zapis-naverkhu-pri-vyborke|Закрепить запись наверху при выборке]]
  * [[http://rmcreative.ru/blog/post/mysql-vybrat-novosti-s-opredeljonnymi-id-sobljudaja-porjadok|Выбрать новости с определёнными id соблюдая порядок]]
  * [[http://www.codinghorror.com/blog/archives/000976.html|A Visual Explanation of SQL Joins]]