воскресенье, 20 марта 2011 г.

Ubuntu: Устанавливаем и настраиваем MySQL

Немного о установке и настройке MySQL сервера на Ubuntu.

Сам процесс установки не является чем-то сложным (если не рассматривать сборку из исходников связки Apache + PHP + MySQL, хотя и это несложно :) ) устанавливаются пакеты и немного правятся файлы конфигурации.


Приступим к установке MySQL сервера. Если уже установлен пакет LAMP, этот шаг можно опустить

sudo apt-get install mysql-server mysql-client

Если необходимо подключатся к базе удалённо необходимо выполнить следующие действия:

sudo vim /etc/mysql/my.cnf

Находим строку:

bind-address = 127.0.0.1

Комментируем её, добавив # в начало строки:

# bind-address = 127.0.0.1

Сохраняем файл конфигурации пере запускаем MySql:

sudo /etc/init.d/mysql restart

Всё. Теперь к серверу MySQL можно подключаться извне.

Осталось создать пользователей которым разрешено удалённое подключение.

Запускаем консоль MySql и входим под :

mysql -uroot -p

Теперь создаём пользователя:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'remote_addr' IDENTIFIED BY 'password' WITH GRANT OPTION;

Вместо 'remote_addr' укажите адрес хоста с которого планируется подключаться или можно указать '%' тогда подключение будет разрешено с любого адреса, 'password' пароль пользователя.

Для непривилегированного пользователя вместо 'GRANT ALL PRIVILEGES' можно указать конкретные разрешённые операции, например:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON *.* TO 'root'@'remote_addr' IDENTIFIED BY 'password';

Так же можно ограничить доступ к база и таблицам указав вместо 'ON *.*' - 'ON table' или 'ON database.*' или 'ON database.table', где 'table' - имя таблица, а 'database' - имя базу данных.

Например, нужен пользователь без пароля работающий с существующими таблицами в базе новостей, который может создавать, удалять, обновлять и делать выборку.

GRANT SELECT, INSERT, UPDATE, DELETE on news.* TO news_manager@localhost; 

Удаляются пользователи проще, чем создаются :). Например, если мы решим избавиться от пользователя 'news_manager'

DROP USER 'news_manager'@'localhost';

При желании можно установить phpMyAdmin, это упростит работу с управлением сервером, базами, таблицами и пользователями.

sudo apt-get install phpmyadmin

На этом всё.

Похожие по тематике посты:

1 комментарий:

Анонимный комментирует...

Самая грамотная статья из 15-20 просмотренных