INSERT IGNORE против(VS) ON DUPLICATE KEY UPDATE

При варианте INSERT IGNORE игнорируется вставка,

но автоматически увеличивается ид записи до последнего в автоинкременте.

 

При варианте ON DUPLICATE KEY UPDATE

такого поведения не наблюдается

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

Теперь нужно подключиться к MySql с паролем суперпользователя системы (системы!!! а не MySQL):

sudo mysql

После подключения к MySQL можно создать пользователя и дать привилегию, например:

mysql> GRANT ALL PRIVILEGES ON userdata.* TO 'user'@'%' IDENTIFIED BY 'password';

Здесь дается полный доступ к базе данных userdata пользователю с логином user и паролем password, подключающемуся с любого ip.

Можно ограничить права пользователя, разрешив ему подключаться к базе только с определенного ip. Для этого меняем % на конкретный ip-адрес, например 192.168.122.16

mysql> GRANT ALL PRIVILEGES ON userdata.* TO 'user'@'192.168.122.16' IDENTIFIED BY 'password';

А можно и разрешить пользователю всё — подключаться ко всем базам с любого ip-адреса

mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password';

MySQL \ MariaDB удаленный доступ

Конфигурация хранится в файле:

/etc/mysql/mariadb.conf.d/50-server.cnf

по умолчанию доступ открыт только с 127.0.0.1 (прослушивается только на локальном хосте).

изменяем на:

bind-address = 0.0.0.0
# skip-networking

Если есть строка, содержащая skip-networking, удалите ее или закомментируйте, добавив # в начале строки.

После этого перезапустите службу MySQL, чтобы изменения вступили в силу.

sudo systemctl restart mysql

Posts navigation

1 2
Scroll to top