Доступ запрещен для пользователя ‘root’ @ ‘ localhost ‘( используя пароль: да) (mysql

Создание нового пользователя в MySQL

После установки MySQL в базе данных автоматически будет создан новый пользователь root. Работать под таким именем небезопасно, поэтому рекомендуется создавать нового пользователя и выполнять необходимые действия под ним. Давайте рассмотрим два способа создания нового пользователя в MySQL – через phpMyAdmin и через консоль.

Вариант 1: с помощью phpMyAdmin

Нам потребуется phpMyAdmin – приложение для работы с базой данных, которое обычно по умолчанию предустановлено на хостинге либо локальном сервере. 

Чтобы добавить нового пользователя в phpMyAdmin, воспользуемся инструкцией:

  1. На главной странице через верхнее правое меню переходим во вкладку «Учетные записи пользователей». Затем выбираем «Добавить учетную запись пользователя».
  2. Следующим шагом вводим новое имя пользователя и хоста, прописываем пароль. В завершение жмем на кнопку «Генерировать».
  3. Теперь нам потребуется задать привилегии для нового пользователя. Если вы хотите установить доступ только для определенных баз данных, то можете пропустить этот пункт – просто нажмите на кнопку «Вперед», расположенную внизу страницы.
  4. Будет добавлен новый пользователь с указанным именем.

Подробнее о правах доступа мы поговорим чуть позже, а пока давайте рассмотрим альтернативный метод добавления пользователя в БД.

Вариант 2: через консоль

Если вы подключаетесь к серверу по SSH, то этот способ для вас. Нам потребуется выполнить несколько команд:

Первым дело активируем сервер базы данных:

mysql

Создадим нового пользователя:

CREATE USER 'user'@'localhost' IDENTIFIED BY 'pswrd';

В кавычках потребуется изменить следующие данные: user – имя пользователя, pswrd – пароль.

Пока что пользователь не имеет разрешений, а значит, не может получить доступ к MySQL. Для решения такой проблемы пропишем еще одну строчку кода:

GRANT ALL PRIVILEGES ON * . * TO 'user'@'localhost';

Мы выдали указанному пользователю все доступные права. Осталось сохранить внесенные изменения с помощью команды:

FLUSH PRIVILEGES;

Готово! Теперь вы знаете, как создать нового пользователя в MySQL с правами доступа root.

База данных MySQL: что это такое и в чем ее преимущества

MySQL – это реляционная система управления базами данных с открытым исходным кодом, написанная на языках программирования C и C++. Благодаря ей можно оптимизировать работу сайта или мобильного/десктопного приложения.

База данных – это место для структурированного хранения данных. Например, чтобы найти в смартфоне сохраненную картинку, мы используем для этого галерею. В данном случае картинки – это данные, а галерея – база данных.

Такой же подход используется и на многих сайтах, где подключены формы регистрации, системы оформления заказа и прочее. Когда вы регистрируетесь на сервисе, вся полученная от вас информация сохраняется в базе данных – благодаря этому вы можете повторно войти в свой аккаунт и получить доступ к внесенным ранее изменениям.

Если вести крупный ресурс без БД, то на это будет уходить очень много времени и средств. Базы данных группируют и упорядочивают информацию, упрощают получение доступа к ней. Чтобы администрировать такой большой поток данных, используются СУБД: MySQL, Microsoft SQL Server, PostgreSQL и другие.

MySQL хранит всю информацию в табличном виде. Извлечь данные из одной или нескольких таблиц можно с помощью запроса. Запросы в MySQL – это то, на чем все строится, с их помощью можно выполнять всевозможные операции с данным.

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

Принцип работы с таблицами следующий: к серверу, на котором хранятся и обрабатываются структурированные данные, подключаются клиенты для получения необходимой информации, а для взаимодействия между пользователем и сервером используется специальное ПО. Заполнение подобных и более крупных таблиц происходит с помощью языка программирования SQL.

Исходя из пользовательского опыта, можно выделить следующие особенности MySQL:

  • быстрая скорость доступа и обработки данных;
  • надежная защита информации;
  • простота использования;
  • совместимость с Windows и Linux;
  • бесплатность;
  • возможность контролировать доступ к данным и учетным записям;
  • шифрование паролей.

На этом с теоретической частью закончим. 

Открытие портов в брандмауэре

Системы брандмауэров предотвращают несанкционированный доступ к ресурсам компьютера. Для подключения к SQL Server с другого компьютера при включенном брандмауэре в брандмауэре необходимо открыть порт.

Важно!

Открытие портов на брандмауэре может привести к незащищенности сервера от вредоносных атак. Поэтому для открытия портов требуется понимание работы систем брандмауэров. Дополнительные сведения см. в разделе Security Considerations for a SQL Server Installation.

После настройки компонента Компонент Database Engine на использование фиксированного порта следуйте приведенным ниже инструкциям, чтобы открыть в брандмауэре Windows нужный порт. (Нет необходимости настраивать фиксированный порт для экземпляра по умолчанию, потому что он уже настроен на подключение к TCP-порту 1433.)

Открытие порта в брандмауэре Windows для доступа по TCP (Windows 7)

  1. В меню Пуск выберите команду Выполнить, введите WF.msc и нажмите кнопку ОК.

  2. На левой панели Брандмауэр Windows в режиме повышенной безопасности щелкните правой кнопкой мыши раздел Правила для входящих подключений и выберите на панели действий пункт Создать правило .

  3. В диалоговом окне Тип правила выберите Порт и нажмите кнопку Далее.

  4. В диалоговом окне Протокол и порты выберите протокол TCP. Выберите Определенные локальные порты и введите номер порта экземпляра компонента Компонент Database Engine. Для экземпляра по умолчанию введите 1433. Если в предыдущей задаче был настроен фиксированный порт, а сейчас настраивается именованный экземпляр, введите 49172 . Щелкните Далее.

  5. В диалоговом окне Действие выберите Разрешить соединение и нажмите кнопку Далее.

  6. В диалоговом окне Профиль выберите профили, описывающие среду соединения компьютеров, который нужно подключить к компоненту Компонент Database Engine, и нажмите кнопку Далее.

  7. В диалоговом окне Имя введите имя и описание правила и нажмите кнопку Готово.

Дополнительные сведения о настройке брандмауэра, включая инструкции для Windows Vista, см. в разделе Настройка брандмауэра Windows для доступа к компоненту Database Engine. Дополнительные сведения о настройках брандмауэра Windows по умолчанию и описание портов TCP, влияющих на компонент Database Engine, службы Analysis Services, службы Reporting Services и службы Integration Services, см. в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server.

Переключение на суперпользователя

Еще раз уточню, что команда sudo идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите sudo -s или sudo -i. В первом случае домашний каталог остается текущим, а во втором меняется на /root.

Примерно так же работает и команда su, но она обладает дополнительными аргументами, которые следует уточнить:

  • -c – позволяет выполнить команду;
  • -g – устанавливает группу для пользователя;
  • -G – дополнительные группы для юзера;
  • -, -l, —login – один из режимов входа, при котором происходит переключение домашнего каталога;
  • -p – сохранение переменных окружения;
  • -s – выбор оболочки для выхода.

Есть вариант выполнить вход в оболочку под суперпользователем, но он имеет свои неудобства. Он заключается в переключении в доступную виртуальную консоль, что осуществляется комбинацией Ctrl + Alt + F1-F6. Там понадобится ввести логин и пароль root для получения доступа. Главный недостаток этого метода – потеря возможности взаимодействия с графическим интерфейсом операционной системы.

Второй вариант – ввод такого же логина и пароля при входе через графическую форму авторизации. Так вы сразу получите доступ ко всем файлам, даже не надо будет вводить sudo. Однако неопытным пользователям такой метод не подходит, поскольку возникает риск удаления или изменения системных файлов, что иногда приводит к поломке ОС.

Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.

Применение корневых настроек

Теперь, когда в настройках включен вход в систему с правами root, вам необходимо перезапустить демон SSH, чтобы применить изменения. На большинстве компьютеров с Linux это легко сделать с помощью systemd. В терминале получите root-доступ с помощью su или sudo:

su -

или же

sudo -s

После получения root используйте systemd для перезапуска демона SSH.

systemctl restart sshd

Не использовать systemd? Вместо этого попробуйте эту команду:

service ssh restart

Если ни одна из команд не работает для перезапуска демона SSH, надежный способ — просто перезапустить сервер, на котором запущен SSH:

reboot

После перезагрузки изменения должны быть применены. Чтобы войти в систему как root, откройте терминал и попробуйте следующее:

Получение прав суперпользователя для выполнения нескольких команд

Иногда возникает необходимость выполнить подряд несколько команд с правами администратора. В этом случае можно временно стать суперпользователем одной из следующих команд:

sudo -s
sudo -i

После этого вы перейдёте в режим суперпользователя (с ограничениями, наложенными через настройки sudo), о чём говорит символ # в конце приглашения командной строки. Данные команды по действию похожа на , однако:
— sudo -s — не меняет домашний каталог на /root, домашним остается домашний каталог пользователя вызвавшего sudo -s, что обычно очень удобно.
— sudo -i — сменит так же и домашний каталог на /root.

Для выхода обратно в режим обычного пользователя наберите или просто нажмите Ctrl+D.

Как включить пользователя root в Ubuntu?

К настоящему времени вы знаете, что пользователь root по умолчанию заблокирован в дистрибутивах на основе Ubuntu.

Linux дает вам свободу делать с вашей системой все, что вы хотите. Разблокировка пользователя root — одна из таких свобод.

Если по каким-то причинам вы решили включить пользователя root, вы можете сделать это, установив для него пароль:

sudo passwd root

Опять же, это не рекомендуется, и я не буду поощрять вас делать это на домашней ОС. Если вы забыли пароль, вы не сможете снова изменить пароль root в Ubuntu .

Вы можете снова заблокировать пользователя root, удалив пароль:

sudo passwd -dl root

В конце…

Как изменить (сбросить) root пароль в MySQL

Довольно часто происходит такая ситуация, что пароль для учетной записи root в MySQL необходимо восстановить, поменять или сбросить. Хорошо, если он известен, но бывают случаи, когда пароль был утерян или неизвестен с самого начала. В данной статье пойдет речь о том, как этот пароль восстановить, имея доступ к серверу, на котором запущен mysql-server для обоих случаев, когда пароль о учетной записи root ИЗВЕСТЕН и НЕ ИЗВЕСТЕН.

Если пароль root ИЗВЕСТЕН

Возьмем самую простую ситуацию, когда пароль от учетной записи root вам известен и все что нужно сделать, это просто его поменять. Чтобы задать новый пароль для учетной записи root, необходимо проделать следующие действия:

В том случае, если вы пользуетесь каким-либо веб-интерфейсом, например, phpMyAdmin
, то тогда вы можете пропустить пункт 1 и сразу же выполнить запрос для нужной версии MySQL (пункт 2) прямо из интерфейса phpMyAdmin (вкладка SQL).

1) Подключаемся в консоль MySQL сервера с правами root (не забываем ввести пароль, после появления соответствующего запроса):

2) Меняем пароль для пользователя root:

Для MySQL версий 5.7.6
и новее (5.7.7, 5.7.8…)

Для MySQL версий 5.7.5
и старее (5.7.4, 5.7.3…)

— это пароль, который вам необходимо поменять на свой собственный. В результате выполнения данной команды, мы должны получить вот такой вывод в консоли:

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

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

3) Перезагружаем привилегии, чтобы изменения вступили в силу:

4) Для выхода из консоли MySQL сервера выполняем команду выхода:

После этого, пароль должен поменяться.

Если пароль root НЕ ИЗВЕСТЕН

Если вы не знаете текущий пароль root (потеряли, забыли) в MySQL, то придется пойти чуть более сложным путем, чем описанные действия выше:

1) Останавливаем mysqld:

2) Проверяем, что нет запущенных процессов mysqld:

Если все нормально, то вывод команды должен состоять лишь из одной строки, примерно такого содержания:

3) Создаем каталог
для запуска mysqld в safe режиме из консоли

4) Делаем владельцем данного каталога пользователя mysql (чтобы не было проблем с правами)

5) Запускаем MySQL в ручном режиме из консоли, пропуская проверку прав (опция —skip-grant-tables). А также отключаем доступ к серверу через и —skip-networking), чтобы злоумышленник не мог воспользоваться тем, что мы отключили проверку прав пользователей. При использовании данной опции, доступ к серверу становится возможным только через localhost.

В случае успешного запуска, вывод в консоли должен быть примерно таким:

6) Подключаемся из консоли к серверу mysqld и выбираем базу данных mysql:

7) Используем плагин mysql_native_password, иначе в некоторых случаях будем получать ошибку «ERROR 1524 (HY000): Plugin ‘auth_socket’ is not loaded
«, а нам это не нужно:

Вывод в результате выполнения данной команды должен быть примерно таким:

8) Перезагружаем привилегии:

9) Меняем пароль для нужного пользователя, в нашем случае это root:

Для MySQL версий 5.7.6
и новее (5.7.7, 5.7.8…)

Для MySQL версий 5.7.5
и старее (5.7.4, 5.7.3…)

— это пароль, который вам необходимо поменять на свой собственный. В результате выполнения данной команды, мы должны получить вот такой вывод в консоли:

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

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

9) После чего, вводим команду exit для отключения:

10) Выключаем запущенный в ручном режиме Mysqld сервер:

Если все пройдет успешно, то вывод должен быть примерно таким:

Если же команда не сработала и вы получаете вот такую (или любую другую) ошибку:

То можно принудительно завершить процесс с помощью следующей команды:

11) Проверяем, что нет запущенных процессов mysqld:

12) Запускаем Mysql-server в нормальном режиме:

И пытаемся подключиться к нашему серверу с новым паролем, который мы установили.

Оценить статью

MySQL необъяснимым образом переходит в строгий режим SQL

Недавно группа тестирования сообщила, что часть базы данных не может быть записана, и уровень приложения сообщил, что вставка прошла успешно, но данные в таблице не были сгенерированы, а в другой таблице из двух операций записи были данные. Поскольку сбой вставки не виден на уровне базы данных, я пошел к своему коллеге по PHP, чтобы проверить сообщение об ошибке:

Очевидно, есть две операции вставки, первая успешная, вторая неуспешная, но поскольку она не контролируется в одной транзакции, приложение по-прежнему запрашивает успех. Это операция клиентского хранилища. Я думаю, есть ли эта проблема в Интернете Какая цена.

Не говоря уже о проблемах разработки, почему хороший MySQL внезапно не может написать несколько таблиц? Согласно приведенному выше вопросу, я могу быстро догадаться, что это проблема sql_mode: столбец NOT NULL не имеет значения по умолчанию, но в коде значение не указано. В нестрогом режиме столбец int по умолчанию равен 0, а столбец строки — », поэтому это не проблема ; Но в строгом режиме сбой возвращается напрямую.

С первого взгляда, конечно:

Но все было хорошо, и вдруг это появилось. Кто будет менять sql_mode? Каков риск возникновения этой проблемы в производственной среде? Так что его нужно вытащить.

ПервыйПусть они воспользуются первым (фундаментальное решение проблемы будет дано позже) и откройте журнал general_log, чтобы увидеть, у какого пользователя похожие настройки с помощью команды sql_mode:

Видно, что sql_mode устанавливается, когда соединение устанавливается какой структурой в группе java, но это на уровне сеанса и не влияет на соединение пользователей на стороне php.

<!— more —>

В чем может быть причина того, что он вернулся в строгий режим после установки global, поэтому я подумал, что mysqld_safe запускается как процесс защиты, и он будет запущен после аварийной остановки mysqld. Может ли быть исключение, которое вызвало перезапуск mysqld и глобальный сбой? Прочитав журнал ошибок mysql, я понял, что несколько дней назад отключили питание, поэтому решил изменить его напрямую.Конфигурация:

После перезапуска myqld все еще, Редко встречаются ситуации, когда конфигурация в my.cnf не действует. По совпадению, я обнаружил ту же проблему в stackoverflowhow-to-make-sql-mode-no-engine-substitution-permanent-in-mysql-my-cnfПричина проста: параметр sql_mode заменяется конфигурацией где-то еще.

Узнайте о последовательности загрузки файлов конфигурации mysql:

mysql загружает файлы конфигурации в указанном выше порядке, и следующие элементы конфигурации перезапишут предыдущие. Наконец вНашел один, Удалите этот файл, и тот, что находится в /etc/my.cnf, вступит в силу.

Но на данный момент я не могу полностью понять, почему mysql работает так долго.Несколько my.cnf в (MYSQL_BASE) не похоже на искусственное создание. В других примерах такой проблемы нет.

Также был пример: в хранимой процедуре при передаче » типу int строгий режим не разрешен, а нестрогий режим является просто предупреждением. (После выполнения оператора в командной строкеВидно)

Таким образом, окончательный (рекомендуемый) способ решить эту проблему — на самом деле, учитывая совместимость и точность данных, MySQL должен работать в строгом режиме! Независимо от среды разработки или производственной среды, в противном случае миграция кода в линию может вызвать скрытые проблемы.

Проблема sql_mode может быть простой или сложной. Однажды я видел, как кто-то в группе обмена упомянул, что несогласованность настроек sql_mode master-slave вызывает исключения репликации. Здесь у меня просто есть полное представление о нескольких часто используемых значениях для облегчения устранения неполадок в нескольких направлениях.

Как стать пользователем root в Ubuntu?

Вы можете использовать sudo для запуска команд от имени пользователя root. Однако в ситуациях, когда вам нужно запустить несколько команд от имени пользователя root и вы все время забываете добавить sudo перед командами, вы можете временно переключиться на пользователя root.

Команда sudo позволяет имитировать оболочку входа в систему root с помощью этой команды:

sudo -i

user@nuc:~$ sudo -i password for user:root@nuc:~# whoamirootroot@nuc:~#

Вы заметите, что когда вы переключаетесь на root, командная строка оболочки меняется с $ (знак доллара) на # (знак ключа решетка).

Хотя я показал вам, как стать пользователем root, я должен предупредить вас, что вам следует избегать использования системы с правами root. В конце концов, это не рекомендуется по какой-то причине.

Вы можете использовать команду su для переключения пользователей в Ubuntu . Вы можете использовать его с sudo для временного переключения на пользователя root:

sudo su

Если вы попытаетесь использовать команду su без sudo, вы столкнетесь с ошибкой su authentication failure.

Вы можете снова стать обычным пользователем, используя команду выхода.

exit

Как установить MySQL 8 в Debian 10

Шаг 1: Добавление репозитория MySQL

Чтобы установить MySQL в Debian, вам необходимо скачать и установить APT репозиторий содержащийся в .deb пакете, который управляет настройкой и установкой программного обеспечения MySQL.

Во время установки пакета вам будет предложено настроить репозиторий MySQL APT для выбора версий сервера MySQL и других компонентов, которые вы хотите установить. Для установки последней версии оставьте все как есть, перейдите к Оk и нажмите Enter.

Шаг 2: Установка MySQL

После добавления репозитория обновите кэш пакетов apt и установите пакет сервера MySQL. При этом также будут установлены пакеты для клиента и другие зависимости.

Во время установки появится диалоговое окно конфигурации, в котором нужно будет установить пароль пользователя root для MySQL. Введите безопасный и надежный пароль, а затем подтвердите его.

После этого вас предупредят о новой системе аутентификации, на основе SHA256, использующейся в MySQL, нажмите Ok. Выберите плагин аутентификации (оставьте опцию по умолчанию, чтобы использовать рекомендуемый плагин) и нажмите кнопку Enter, чтобы завершить процесс установки.

Когда установка пакетов завершится, установщик запустит службу MySQL и настроит для неё автозагрузку. Чтобы убедиться, что служба MySQL работает, проверьте ее состояние с помощью следующей команды.

Есть несколько команд systemctl, которые вам нужно знать, чтобы управлять (запускать, перезапускать и останавливать) службу MySQL, когда это будет необходимо:

Шаг 3: Настройка безопасности MySQL

Сервер MySQL из коробки не защищен, и для повышения безопасности потребуется запустить сценарий mysql_secure_installation. Выполните:

Прочитайте описание каждого вопроса и правильно ответьте на них. Во-первых, введите пароль пользователя root, который вы задали во время установки пакета. Вы можете выбрать y (для Yes) или n (для No), чтобы использовать или не использовать компонент VALIDATE PASSWORD.

Когда сценарий предложит вам установить новый пароль для пользователя root выберите No (вы уже установили его во время установки пакета). Затем внимательно следуйте другим подсказкам и выберите y (для YES), чтобы удалить анонимных пользователей, запретить удаленный вход под root в систему, удалить тестовую базу данных и перезагрузить таблицу привилегий.

Настройки MySQL Debian завершены, можно переходить к использованию.

Шаг 4: Проверка MySQL

После того как вы закончили настройку безопасности MySQL, можно начать использовать его для хранения данных для ваших веб-сайтов или веб-приложений. Чтобы получить доступ к оболочке MySQL, выполните следующую команду (пароль пользователя root введите по запросу, как показано на скриншоте):

Шаг 1. Редактирование конфигурационного файла

В Ubuntu файл размещается, как правило, по пути .

В CentOS это могут быть или .

Откройте файл для редактирования, указав нужный путь:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Найдите в нем следующие строки:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

Параметр bind-address определяет, с каких адресов MySQL разрешает подключения. В данном случае оно возможно только с локального сервера (localhost, 127.0.0.1).

Укажите здесь нужные вам настройки:

Чтобы разрешить доступ с конкретного IP-адреса, укажите его вместо 127.0.0.1.
Чтобы разрешить доступ с любых IP-адресов, укажите здесь 0.0.0.0

Обратите внимание, что такая настройка может быть небезопасной. . Закройте файл, сохранив изменения (в nano это можно сделать с помощью клавиш Crtl X → Y → Enter)

Закройте файл, сохранив изменения (в nano это можно сделать с помощью клавиш Crtl X → Y → Enter).

После перезапустите MySQL:

sudo systemctl restart mysql

Редактирование файла конфигурации MySQL

Первый шаг в настройке MySQL, позволяющий удаленно Connections заключается в редактировании файла конфигурации MySQL. На этом этапе в этом руководстве предполагается, что вы уже подключились к серверу, ПК или Mac, на котором удаленно размещена ваша база данных mySQL, и имеете доступ к консоли.

Кроме того, вы можете настроить локальный сервер MySQL с помощью открытого терминала на Mac или Linux или текстового редактора в Windows.

Для начала используйте предпочитаемый консольный текстовый редактор для редактирования файла базы данных MySQL.. В Linux введите sudo nano/etc/mysql/mysql.conf.d/mysqld.cnf в терминал или окно SSH, чтобы отредактировать этот файл с помощью редактора nano (при условии ваша база данных MySQL находится в местоположении по умолчанию) . Если вы работаете в Windows, откройте проводник. и войдите в папку, содержащую вашу установку MySQL (например, C:/Program Files/MySQL/MySQL Server 8.0 ). Откройте файл my.ini с помощью текстового редактора по умолчанию (например, Блокнота), дважды щелкнув запись. Если его там нет, сначала создайте файл . На Mac откройте окно терминала и введите sudo nano/usr/local/etc/my.cnf . Это файл конфигурации по умолчанию для MySQL, если вы установили MySQL с использованием homebrew .

Указанные выше местоположения являются местоположениями по умолчанию для конфигурации MySQL. файлы. Если эти команды не работают, вам нужно будет найти соответствующие файлы ( my.cnf , mysqld.cnf или my.ini ) вручную, чтобы найти соответствующий путь к файлу.

Установка диапазона IP-адресов безопасного связывания

Открыв файл конфигурации MySQL для своего сервера, используйте клавишу со стрелкой на клавиатуре, чтобы перейти к разделу адрес привязки файла. Этот диапазон IP-адресов ограничивает подключения к вашей базе данных, которая обычно разрешает подключения только с локального компьютера или сервера, использующего 127.0.0.1 . Если вы хотите настроить базу данных MySQL, чтобы разрешить соединения с устройств, использующих ваше текущее подключение к Интернету, найти сначала ваш общедоступный IP-адрес , а затем замените 127.0.0.1 этим IP-адресом. Или замените его IP-адресом устройства или сервера, с которого вы хотите разрешить соединения. В некоторых случаях вы можете разрешить все удаленные подключения к базе данных MySQL. Это связано с чрезвычайным риском и не должно использоваться на рабочем сервере. Однако, если вы хотите разрешить это, замените 127.0.0.1 на 0.0.0.0

Обратите внимание на порт в разделе Основные настройки. Это потребуется в следующем разделе

Если он не отображается, будет использоваться значение по умолчанию, которым является порт 3306 . Вы можете добавить собственный порт, набрав порт=xxxx в новой строке, заменив xxxx подходящим значением порта. После настройки адреса привязки в Файл конфигурации MySQL, сохраните файл. Если вы работаете в Linux, выберите для этого Ctrl + O и Ctrl + X . На Mac выберите Command + O и Command + X . Пользователи Windows могут сохранить, выбрав Файл > Сохранить . Затем пользователи Linux и Mac могут перезапустить MySQL, набрав mysql.server stop && mysql.server start или mysql.server restart . Возможно, вам потребуется повысить уровень команды используя sudo (например, sudo mysql.server restart ) и используйте соответствующий путь к файлу mysql.server (например, /usr/local/bin/mysql.server ). Если указанная выше команда не работает, попробуйте sudo service mysql restart вместо этого. Чтобы перезапустить MySQL в Windows, откройте новое окно PowerShell, щелкнув правой кнопкой мыши меню« Пуск »и выбрав Windows PowerShell (администратор) . В окне PowerShell введите net stop mysql80 , а затем net start mysql80 , заменив mysql80 правильным именем службы на вашем ПК.

Если вы не уверены в правильном имени службы в Windows, введите net start , чтобы найти его. Если вы не можете перезагрузить конфигурацию, перезапустите сервер и перезагрузите MySQL вручную (при необходимости).

Настройка фиксированного порта

В целях повышения безопасности в таких системах, как Windows Server 2008, Windows Vistaи Windows 7, включен брандмауэр Windows. При подключении к этому экземпляру из другого компьютера необходимо открыть порт соединения в брандмауэре. Экземпляр компонента Компонент Database Engine , запускаемый по умолчанию, прослушивает порт 1433, поэтому нет необходимости настраивать фиксированный порт. Однако именованные экземпляры, включая SQL Server Express , принимают соединения через динамически назначаемые порты. Прежде чем появится возможность открыть порт в брандмауэре, необходимо предварительно настроить компонент Компонент Database Engine для прослушивания конкретного порта, известного как постоянный порт или статический порт; в противном случае компонент Компонент Database Engine может прослушивать другой порт после каждого запуска. Дополнительные сведения о брандмауэрах, настройках брандмауэра Windows по умолчанию и описание портов TCP, влияющих на ядро СУБД, службы Analysis Services, службы Reporting Services и службы Integration Services, см. в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server.

Примечание

Присваиванием номеров портов управляет администрация адресного пространства Интернет (IANA), а списки этих номеров находятся по адресу https://www.iana.org. Портам должны назначаться номера от 49152 до 65535.

Настройка SQL Server для подключения через определенный порт

  1. В диспетчере конфигурации SQL Server раскройте узел Сетевая конфигурация SQL Server и щелкните экземпляр сервера, который надо настроить.

  2. На правой панели дважды щелкните TCP/IP.

  3. В диалоговом окне Свойства TCP/IP перейдите на вкладку IP-адреса .

  4. Введите доступный номер порта в поле TCP-порт раздела IPAll . В данном учебнике используется порт 49172.

  5. Нажмите кнопку ОК , чтобы закрыть диалоговое окно, и кнопку ОК в предупреждении о необходимости перезагрузки службы.

  6. На левой панели щелкните Службы SQL Server.

  7. На правой панели щелкните экземпляр SQL Serverправой кнопкой мыши и выберите пункт Перезапустить. После перезапуска компонент Компонент Database Engine будет принимать соединения через порт 49172.

Возможные ошибки

1. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Причина: в новых версиях по умолчанию активированы политики на проверку сложности пароля. Их список можно посмотреть командой:

> SHOW VARIABLES LIKE ‘validate_password%’;

Вывод команды будет, примерно, следующим:

+—————————————+———+
| Variable_name | Value |
+—————————————+———+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+—————————————+———+

* где:

  • validate_password_check_user_name — пароль не должен совпадать с именем пользователя.
  • validate_password_dictionary_file — использовать специальный файл со словарем запрещенных паролей.
  • validate_password_length — минимальная длина пароля.
  • validate_password_mixed_case_count — сколько, как минимум, должно быть символов в малой и большой раскладках.
  • validate_password_number_count — какое минимальное количество цифр использовать в пароле.
  • validate_password_policy — позволяет задать определенный набор правил. Доступны значения LOW (или 0), MEDIUM (1), STRONG (2).
  • validate_password_special_char_count — минимальное количество специальных символов (например, # или !).

Решение:

  1. Привести пароль в соответствие требованиям политик.
  2. Отключить политику, которая не позволяет использовать желаемый пароль. Например, чтобы отключить требование использовать цифры вводим:

> SET GLOBAL validate_password_number_count = 0;

2. ERROR 1728 (HY000): Cannot load from mysql.tables_priv. The table is probably corrupted

Причина: система считает, что таблица tables_priv в базе mysql неисправна.

Решение: чаще всего, ошибка возникает при переносе баз с одного сервера в другой. Если версии СУБД разные, таблица tables_priv может работать со сбоями. Для исправления необходимо выполнить команду mysql_upgrade — она проверяет все таблицы на совместимость с текущей версией MySQL/MariaDB и вносит исправления. Применение команды:

mysql_upgrade -u root -p

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: