Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

для работы модуля нужен php7.4-mysql (в данном примере), установленный на стороне Userside

mysql -u root -pПароль

SELECT user FROM mysql.user;

посмотреть разрешения пользователя abills

SHOW GRANTS FOR 'abills'@'%';

ответ

MariaDB [(none)]> SHOW GRANTS FOR 'abills'@'%';
ERROR 1141 (42000): There is no such grant defined for user 'abills' on host '%'

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

SHOW GRANTS FOR 'abills'@'localhost';

| GRANT USAGE ON *.* TO `abills`@`localhost` IDENTIFIED BY PASSWORD '*98D84DA1681DC131CB0993CAB135D43F19205A30' |
| GRANT ALL PRIVILEGES ON `abills`.* TO `abills`@`localhost`

Чтобы разрешить пользователю abills доступ ко всем хостам, необходимо добавить привилегии для подключения с хоста %. Для этого выполните следующий SQL-запрос:


GRANT ALL PRIVILEGES ON `abills`.* TO 'abills'@'%' IDENTIFIED BY 'G@h0km098';

FLUSH PRIVILEGES;

Проверка

SHOW GRANTS FOR 'abills'@'%';

ответ

| Grants for abills@%                                                                                   |
+-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `abills`@`%` IDENTIFIED BY PASSWORD '*98D84DA1681DC131CB0993CAB135D43F19205A30' |
| GRANT ALL PRIVILEGES ON `abills`.* TO `abills`@`%` 


Найдите директиву bind-address. Если она установлена на 127.0.0.1, то сервер принимает подключения только с локального хоста:

bind-address = 127.0.0.1

Чтобы разрешить подключение с любого IP-адреса (или укажите свой диаппазон), замените эту строку на:

bind-address = 0.0.0.0

После этого перезапустите MySQL/MariaDB:

sudo systemctl restart mysql


Проверка открытых портов с помощью netstat или ss

sudo netstat -tuln | grep 3306

sudo ss -tuln | grep 3306

Если в результате вы увидите что-то вроде 0.0.0.0:3306, значит, MySQL прослушивает соединения на всех интерфейсах.

Убедитесь, что брандмауэр (например, iptables, nftables,firewalld, ufw) не блокирует порт 3306.

  • Нет меток