Это старая версия документа.


MySQL — свободная СУБД для малых и средних приложений. Входит в состав LAMP и XAMPP.

Установка

MySQL есть в репозиториях Ubuntu. Он разбит на несколько пакетов.

  • Для того чтобы установить MySQL сервер выполните команду:

    sudo apt-get install mysql-server
  • Для того чтобы установить консольный клиент MySQL выполните команду:

    sudo apt-get install mysql-client
  • Для того чтобы установить модуль для работы с MySQL в PHP выполните команду:

    sudo apt-get install php5-mysql

Настройка

Кодировки

По-умолчанию в Ubuntu MySQL устанавливается с кодировкой latin1. В этом можно убедиться посмотрев вывод запроса:

SHOW VARIABLES LIKE 'char%';
character_set_client   latin1                      
character_set_connection latin1                    
character_set_database    latin1                    
character_set_filesystem   binary                   
character_set_results    latin1                    
character_set_server     latin1                   
character_set_system    utf8                       
character_sets_dir       /usr/share/mysql/charsets/

В связи с этим, даже используя при работе с сервером команду

SET names utf8;

и используя при создании таблиц

...DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

мы не добьёмся полной поддержки кодировки utf8:

character_set_client    utf8                        
character_set_connection  utf8                       
...                    
character_set_server        latin1                  
...            
character_sets_dir         /usr/share/mysql/charsets/

Кодировка по-умолчанию все равно останется latin1, что неудобно и может привести к ошибкам.

Чтобы сервер сразу загружался с нужной нам кодировкой, необходимо отредактировать файл my.cnf:

sudo nano -w /etc/mysql/my.cnf

В секцию [mysqld] добавьте следующие строки:

skip-character-set-client-handshake
default-character-set=utf8
init-connect='SET NAMES utf8'
default-collation=utf8_general_ci

Перезагрузите сервер MySQL:

sudo service mysql restart

После этого список переменных будет выглядеть так:

character_set_client      utf8                     
character_set_connection   utf8               
character_set_database      utf8                
character_set_filesystem  binary                    
character_set_results        utf8                        
character_set_server         utf8                        
character_set_system       utf8                        
character_sets_dir          /usr/share/mysql/charsets/

Администрирование

Восстановление забытого пароля для root'a

  1. Остановите mysqld

    sudo service mysql stop
  2. Запустите mysqld с параметрами --skip-grant-tables --user=root:

    sudo mysqld --skip-grant-tables --user=root
  3. Подключитесь к MySQL-серверу командой:

    mysql -u root
  4. Обновите пароль для root'a:

    UPDATE mysql.user SET Password=PASSWORD('<новый пароль>') WHERE User='root';
    FLUSH PRIVILEGES;

Теперь можете войти под root с новым паролем.

MySQL Workbench

MySQL Workbench – инструмент для визуального проектирования баз данных. MySQL Workbench существует в двух вариантах:

  • Community Edition – бесплатная версия, распространяемая под лицензией GPL3
  • Standard Edition – платная версия, включающая в себя некоторые дополнительные возможности.

MySQL Workbench можно скачать с официального сайта http://www.mysql.com/downloads/workbench/.

Пакет вложенный на официальном сайте не подходит для Ubuntu 12.04 и выше. Это связано с тем, что пакет libzip1, прописанный в зависимостях был исключен из репозиториев. Как временное решение используйте PPA ppa:olivier-berten/misc .

Ссылки