Установка mysql в Ubuntu 13.04 — 12.04

В этой статье я расскажу, как установить mysql сервер и клиент, графическую оболочку workbench для работы с mysql сервером. А также расскажу, как решить проблему с кодировкой сервера. Так как по умолчанию на сервере используется кодировка latin1.

1. Установка Mysql сервер и клиент.

Для установки открываем консоль и вводим:

sudo apt-get install mysql-server mysql-client

В процессе установки, в консоле будет затребовано ввести пароль администратора сервера mysql. Введите дважды его (для перехода в консоле к кнопочке "ок" используется клавиша "Tab" если кто не в курсе 🙂 ). Всё, ожидаем окончание установки

Проверяем работоспособность.
Вводим в терминале команду, чтобы зайти на сервер:

mysql -uroot -p

У вас будет запрошено ввести пароль, вводим, и если успешно, то появиться: Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 50
Server version: 5.5.31-0ubuntu0.12.04.2 (Ubuntu)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> 

Можете теперь вводить sql команды (книги по sql в помощь). Также можете ввести /h появится список вспомогательных команд.

Что нужно сделать, чтобы подключаться к серверу mysql из вне, а не только локально?
Открываем в текстовом редакторе из под админа конфиг mysql сервера.

sudo gedit /etc/mysql/my.cnf

И находим строчку: "bind-address = 127.0.0.1" и закомментируем ее, придав ей вид:
#bind-address = 127.0.0.1 (знак # означает то, что последующее в строке не будет выполняться и учитываться).
То есть должно получиться так:

Всё. Сохраняем и перезапускаем сервис mysql:

sudo service mysql restart

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

sudo service mysql stop

Для того, чтобы запустить:

sudo service mysql start

2. Установка графического клиента для работы с Mysql.
Кто-то может возразить и сказать, что нужно ставить phpMyAdmin. Ваше решение, я с ним не работал, поэтому расскажу про то, что использую в работе WorkBench.
Кстати, для установки phpMyAdmin:
sudo apt-get install phpmyadmin

Для установки WorkBench аналогичная команда:

sudo apt-get install mysql-workbench

Открываем программу:

Первое, что делаем, это создаем новое соединение (new connection):

В имени указываем то, что хотим.
Остальные настройки по стандарту уже стоят, разве что вам нужно будет сменить username, если вы не под root заходите, либо сменить hostname, прописать ваш IP. Далее жмем "тест". Вводим пароль, если все хорошо, то жмем "ok".
Потом Вы просто будете нажимать "открыть соединение".

Так же в чем плюс этой программы, можно нажать создать EER модель. И там уже создавать ваши таблички, как вам хочется в визуальном режиме. После чего можно будет посмотреть sql скрипт, отредактировать и применить. Можно и не редактировать. В общем в графическом режиме создавать довольно сложные базы данных, которые не так легко делать в консоле. При этом можно и не знать хорошо SQL.

По этому поводу всё.

3. Разберемся с кодировкой сервера Mysql.

Открываем соединение в WorkBench и выполняем sql запрос, либо в консоле то же самое:

mysql> SHOW VARIABLES LIKE 'char%';

Появится сообщение с кодировками MySql:

Видим, что кодировка сервера не UTF8, будет проблема с отображением русских символов.

Это легко исправляется:
Открываем в текстовом редакторе из под админа конфиг mysql сервера.

sudo gedit /etc/mysql/my.cnf

И нужно в следующих пункта добавить следующие строчки:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
skip-character-set-client-handshake

[client]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

 После чего, перезапускаем сервис mysql. Выше написано как это делать.

И выполняем команду, для просмотра кодировок.
Теперь везде будет utf8:

Если будет интересно, могу в следующих статьях рассказать подробнее о работе в MySQL WorkBench.

  • https://www.blogger.com/profile/01643167340873129513 bemonolit

    спасибо а можно ли от а до я как установить и настроить почтовый сервер используя убунту сервер пожалуйста хочется отправлять и получать e-mail со своего личного сервера спасибо ещё раз.

    • https://www.blogger.com/profile/00865845114198842309 Администратор

      Я почтовый сервер не поднимал ни разу на Linux. Если столкнусь с этим, то статью напишу. А так не обещаю.

  • https://www.blogger.com/profile/15282803687818186822 Terra

    Описание корректной настройки мне видится полезной. Но автору безусловно виднее! ,

    Если будет интересно, могу в следующих статьях рассказать подробнее о работе в MySQL WorkBench.
    Конечно интересно, как и все, что Вы пишите!

    • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

      Очень хорошая статья.
      Я просто рассказал в статье, как я настраиваю MySql сервер.
      Вот на данный момент тот способ с кодировкой, что я описал работает. Хотя я перепробовал кучу других способов, описанных и в документации Ubuntu в том числе.
      Ни в коем случае я не считаю себя каким-то гуру, просто описал работающие настройки. Вот и всё.
      Так как завал на основной работе, то на выходных выпущу статью про WorkBench.

  • https://www.blogger.com/profile/01811746316205531772 Nikolas junetomato

    Дада, мне будет интересно почитать. Жду статей на подобную тематику.

  • https://www.blogger.com/profile/02942246305711060745 Maikl Bary

    Нельзя изменять файл my.cnf. Могут возникнуть проблемы при следующем обновлении MySQL. В файле my.cnf в конце есть строчка !includedir /etc/mysql/conf.d/ . Эта строчка говорит о том что нужно создать отдельный файл и поместить его в каталог etc/mysql/conf.d/ и для того что бы изменить кодировку нужно. Создать файл utf8_charset.cnf поместить его в указанный каталог и отредактировать добавив следующее:

    [mysqld]
    character-set-server = utf8
    collation-server = utf8_general_ci
    skip-character-set-client-handshake

    [client]
    default-character-set=utf8

    [mysqldump]
    default-character-set=utf8

    После этого перезагрузить сервер MySQL sudo service mysql restart. И всё кодировка будет UTF8.

    • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

      Спасибо большое за такое решение, исправлю статью 🙂

  • https://www.blogger.com/profile/02678363833892867490 Александра Литвиненко

    ОГРОМное спасибо за статью!

  • https://www.blogger.com/profile/12319800628446426376 Unknown

    Большое спасибо!

  • https://www.blogger.com/profile/00644155903921823578 Unknown

    mysql -uroot -p, у вас опечатка, пробел надо между -u и root

  • https://plus.google.com/103409253832364317914 Артём Кузнецов

    Спасибо огромное единственная толковая инструкция на которую я заходил, и то по ссылке от коллеги.