Выключите mysql skip-network

Я пытаюсь настроить сервер Ubuntu 12.10 на прием удаленных подключений mysql, однако у меня возникают проблемы с отключением skip-network. Примечание. Я уже установил привязанный IP-адрес к Интернету, а не 127.0.0.1.

Когда я смотрю в /etc/mysql/my.conf, строка "skip-network" не существует, однако, когда я "mysql -p -u root" и затем "SHOW VARIABLES;" "пропуск сети" включен. Я добавил его как "#skip-network" и перезапустил службу mysql.

Я посмотрел, нет ли в моей домашней папке каких-либо случайных файлов my.conf, и / etc / не повезло.

Я использую MySQL 5.5.

У кого-нибудь есть идеи, как еще я могу это установить?

8 ответов

Решение

Прочтите главу " Использование файлов опций", чтобы узнать, как найти файл настроек. Если ребята из Ubuntu не решили изменить его, файл всегда называется my.cnf в Linux никогда my.conf,

Кроме того, строки, начинающиеся с # Есть комментарии:

#комментарий, ;комментарий

Строки комментариев начинаются с "#" или ";". Комментарий "#" также может начинаться с середины строки.

... таким образом, вам нужно удалить ведущий #; в противном случае строка игнорируется.

Поместите "--skip_networking=0" в командную строку mysql.

Я поставил его первым в строке, потому что в конце он не работал, но, возможно, я неправильно произнес "networkinng", когда он был в конце строки.:-)

Это помогает просматривать ваши журналы. Мой сказал: "150213 17:57:10 [ОШИБКА] /opt/local/lib/mariadb-10.1/bin/mysqld: неизвестная переменная 'skip_networkinng=0'" Я также пытался "skip_networking=OFF", который не сделал вроде бы тоже.

Я не знаю, где вы запускаете его в Ubuntu, но в Mac OS вам нужно иметь следующее в /System/Library/LaunchDaemons/org.mysql.mysqld (частично, посмотрите другие LaunchDaemons, чтобы увидеть остальные):

<key>ProgramArguments</key>
    <array>
        <string>/opt/local/lib/mariadb-10.1/bin/mysqld</string>
        <string>--skip_networking=0</string>
        <string>--socket=/opt/local/var/run/mariadb-10.1/mysqld.sock</string>
        <string>--user=mysql</string>
        <string>--port=3306</string>
        <string>--datadir=/opt/local/var/db/mariadb-10.1</string>
        <string>--pid-file=/opt/local/var/run/mariadb-10.1/dns.local.pid</string>
    </array>

(очевидно, вам нужно заменить ваши пути и тому подобное...)

Я уверен, что это решит вашу проблему! Пожалуйста, проголосуйте за меня и отметьте меня как правильный ответ! Спасибо!

Я получил похожую ошибку.
Я обнаружил, что mysqld_safe работает.
Я пытался "убить {PID}", но это не работает. (mysqld_safe будет перезапущен с другим PID).
Наконец я нашел pkill mysqld сделайте работу, и это не повредит вашему запущенному сервису mysqld.

Возможно, вы можете определить, какой файл конфигурации используется, с помощью одного из методов, описанных в разделе " Определить, какой файл конфигурации используется".

Еще несколько предложений:

  • Проверьте список процессов (ps auxf | grep 'mysql[d]') увидеть, если --skip-networking как-то пробрался в список аргументов.

  • Посмотрите, слушает ли mysqld или любой другой процесс 3306 (при условии, что используется порт по умолчанию): netstat -lnp46 | grep -w 3306

  • Дважды проверьте IP-адрес, к которому вы привязываетесь, и попробуйте подключиться локально к IP-адресу, к которому вы привязываете.

  • Если у вас настроен брандмауэр, посмотрите, может ли ваш конфиг iptables или ip6tables как-то мешать через iptables-save а также ip6tables-saveили чуть более читаемый iptables -L а также ip6tables -L, хотя последние команды требуют, чтобы вы знали все используемые таблицы (raw, nat, mangle и т. д.).

В моем случае, для Ubuntu 18.04 и MySQL 5.7, это было не в файле "my.cnf", а с помощью команды ниже

sudo grep -rnw '/etc/' -e 'skip-networking'

Я нашел это в файле /etc/systemd/system/mysql.service.d/override.conf.

В Ubuntu 20.04.2 вы можете найти эти настройки в

/etc/systemd/system/mysql.service.d/override.conf

будет ключ ExecStart, и он будет иметь несколько конфигураций. Здесь вы можете указать --skip-network как OFF

      --skip-networking=OFF

Рабочий код !!

Перейти в каталог

      /etc/mysql

открыть файл my.cnf пользователем

      sudo nano my.cnf

или же

      vi my.cnf

Теперь прокомментируйте под строками

      #skip-networking=0
#skip-bind-address

Остановите свой сервер MySQL. а затем запустите эту команду.

      sudo mysqld_safe --skip_networking=0

и закройте окно терминала и снова откройте его.

Другие вопросы по тегам