Настройка mysql (my.cnf)

Настройка внешнего доступа

По скольку наш сервер находится удаленно, нам надо настроить доступ к mysql из вне (ну а если быть точным из внутренней сети). Мы принципиально не устанавливаем на стороне сервера phpMyAdmin. Для подключения к mysql используем HeidiSQL.
Для этого откроем конфигурационный файл mysql /etc/mysql/my.cnf. Выполним команду:
sudo nano /etc/mysql/my.cnf
В открывшемся файле следует заменить строку
#разрешить подключатся с любого хоста
bind-address            = 0.0.0.0
или
#разрешить подключатся только с указанного IP
bind-address            = 192.168.1.23
Не забываем после манипуляций перезагрузить mysql
sudo service mysql restart

Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server 

Возникает проблема Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server 
решим ее просто 
mysql -u root -p
USE mysql;
SELECT user,host FROM user;
Увидим перед собой таблицу со списком пользователей mysql
Для того что бы открыть доступ из вне необходимо выставить нужные привилегии пользователю. Выполним следующие команды в mysql:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_user_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Для выхода из консоли mysql используем команду \q

Не забываем после манипуляций перезагрузить mysql
sudo service mysql restart
Более подробнее всегда можно ознакомится на сайте вики.