Настройка удаленного доступа к MySQL Ubuntu Server
В основе имеем установленный сервер LAMP.
Если необходимо подключатся к базе удалённо необходимо выполнить следующие действия:
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 -u root -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