Mysql как сделать доступ


  • Если требуется обеспечить к mysql доступ по сети, то необходимо сделать несколько вещей:

    mysql как сделать доступ
    1. Изменение настроек mysql демона;
    2. Перезапуск mysql демона;
    3. Создание mysql пользователя с необходимыми правами;
    4. Открытие порта в IPTABLES (опционально);

    Убедиться в том, что mysql демон допускает только локальные подключения можно набрав команду:

    $ netstat -tlp

    Вы должны увидеть, что mysql демон запущен и принимает только локальные подключения о чем свидетельствует строка: localhost:mysql

    mysql запущен для локальных подключений

    Изменение настроек mysql демона.

    Первое что нужно сделать, что бы открыть к mysql доступ по сети - это изменить файл настроек mysql демона. Этот файл находится, как правило, по пути: /etc/mysql/my.cnf.

    Открываем его редактором из под привилегированного пользователя:

    $ nano /etc/mysql/my.cnf

    Находим в файле строку с директивой bind-address и комментируем её символом решетка "#", а ниже прописываем следующее: bind-address = :: Это откроет к mysql доступ по сети, как по протоколу IPv4, так и по протоколу IPv6 с любого внешнего хоста. Если необходимо обращаться с определенного хоста, то необходимо указать его по аналогии с существующим значением.

    Если кому интересно, можно прочитать про директиву bind-address здесь: MySQL 5.7 Reference Manual/Server Command Options/bind-address

    В результате должно получиться следующее:

    Отредактированный файл my.conf

    Перезапуск mysql демона.

    Второе, что нужно сделать, что бы открыть к mysql доступ по сети - это произвести перезапуск его демона (или сервиса mysql. Кому как проще), что бы он считал новую конфигурацию. Это можно сделать либо так:

    $ /etc/init.d/mysql restart

    либо так:

    $ service mysql restart

    Теперь при выводе команды:

    $ netstat -tlp

    можно наблюдать следующую картину:

    mysql запущен для внешних подключений

    Что означает, что к нашему mysql можно обращаться из вне.

    Создание mysql пользователя с необходимыми правами.

    Под необходимыми правами я имею ввиду, что нужно указать требуемый хост для пользователя, или разрешить ему доступ со всех хостов: 'outuser'@'%'

    mysql> GRANT ALL PRIVILEGES ON. TO 'outuser'@'%' IDENTIFIED BY '...' WITH GRANT OPTION

    MySQL 5.7 синтаксис выражения GRANT

    Открытие порта в IPTABLES

    Данных манипуляций должно быть достаточно что бы обеспечить к mysql доступ по сети, но если у вас используется iptables, то возможно вам придется открывать порт для внешних соединений явно (опять же из под привилегированного пользователя):

    $ iptables -A INPUT -p tcp –dport 3306 -j ACCEPT

    Команда выше означает: "Добавить в цепочку INPUT, правило для tcp пакетов, у которых порт назначения 3306 - РАЗРЕШИТЬ", ну, или типа того.

    Руководство по iptables на opennet.ru

    Соответственно, если вы используете нестандартный порт, то указываете его вместо 3306, плюс при старте клиента тоже необходимо его указать явно:

    $ mysql -h ХОСТ_MYSQL_СЕРВЕРА -P ПОРТ_MYSQL_СЕРВЕРА -u ИМЯ_ЮЗЕРА -p

    После вводите пароль и радуетесь жизни ;) Всем желаю добра и приятной разработки.

    PS:
    Но будьте осторожны, открывая к mysql доступ по сети вы уменьшаете безопасность системы! Так как любой публичный сервис на вашей машине - это потенциальная возможность для взлома.



    Рекомендуем посмотреть ещё:


    Закрыть ... [X]

    Как создать нового пользователя и настроить права доступа в MySQL Блок подключения фаркопа своими руками

    Mysql как сделать доступ Mysql как сделать доступ Mysql как сделать доступ Mysql как сделать доступ Mysql как сделать доступ Mysql как сделать доступ Mysql как сделать доступ Mysql как сделать доступ