Ubuntu server. Дать доступ к MySQL

333
14 января 2017, 12:20

Установил MySQL на свой домашний ubuntu server. С самого сервера могу подключится через root пользователя к MySQL.

1 Вошел в нее, создал нового пользователя:

mysql> GRANT ALL PRIVILEGES ON mydatabase.* TO 'admin'@'%' IDENTIFIED BY 'мойПароль';
Query OK, 0 rows affected, 1 warning (0,00 sec)  

mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| admin            | %         |
| debian-sys-maint | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0,00 sec)

2 Далее настройка файла /etc/mysql/my.cnf

Текст файла:

# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[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
port = 2508
[mysqldump]
default-character-set=utf8

3 Перезагрузил

sudo service mysql restart

4 Переадресовал порт 2508 на роутере на машину сервера (Делал так же для Transmission и SSH. Все работает)

5 Через Workbench с компа в в этой же сети (что и сервак) не могу присоединится по

  • внешнему ip : порт 2508 (Работаю этим вариантом по SSH, с другим портом естественно)
  • внутреннему ip сервера : порт 2508
    • пробовал другие порты (3306)
    • пробовал удалять строчку "port = 2508" из файла my.cnf
    • пробовал добавлять строку bind-address = 0.0.0.0 в поле client

на netstat запрос получаю это:

sudo netstat -tap | grep mysql
tcp        0      0 localhost:mysql         *:*                     LISTEN      1384/mysqld

Искал в интернете, там вообще никто порт не настраивает. Ну правда и про подключении из вне там не говорят. Не пойму что не так делаю.

Answer 1

Спасибо @Mike, нужно было писать в блок [mysqld]

Весь код файла /etc/mysql/my.cnf:

# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[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
#Для доступа из вне
bind-address = 0.0.0.0
#Для замены стандартного 3306 порта
port = 2508
[client]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
READ ALSO
Как сделать выгрузку MySQL в тестовый файл?

Как сделать выгрузку MySQL в тестовый файл?

Здравствуйте, нужно реализовать выгрузку с таблицы MySQL в тестовый файл

296
INSERT, ON DUPLICATE KEY UPDATE и LAST_INSERT_ID()

INSERT, ON DUPLICATE KEY UPDATE и LAST_INSERT_ID()

Согласно ответам к вопросу на enso пришёл к выводу, что обозначенные там инструменты - это то, что требуется в моей задаче, а именно: получить...

261
Подключиться к серверу особым способом

Подключиться к серверу особым способом

Я умею делать запросы на сервер GET/POSTА вот, если мне надо постоянно получать данные, то как быть? Неужели, такие же запросы, но в бесконечном...

305