За да изложите MySQL на нещо различно от localhost, ще трябва да имате следния ред
За mysql версия 5.6 и по-долу
некомментиран в /etc/mysql/my.cnf
и присвоен на компютрите ви IP адрес, а не обратна връзка
За mysql версия 5.7 и по-нова
некоментирано в /etc/mysql/mysql.conf.d/mysqld.cnf
и присвоен на компютрите ви IP адрес, а не обратна връзка
#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx
Или добавете bind-address = 0.0.0.0
ако не искате да посочите IP
След това спрете и рестартирайте MySQL с новия запис my.cnf. След като стартирате, отидете на терминала и въведете следната команда.
lsof -i -P | grep :3306
Това трябва да се върне нещо подобно с действителния ви IP в xxx
mysqld 1046 mysql 10u IPv4 5203 0t0 TCP xxx.xxx.xxx.xxx:3306 (LISTEN)
Ако горното изявление се върне правилно, тогава ще можете да приемате отдалечени потребители. Въпреки това, за да се свърже отдалечен потребител с правилните привилегии, трябва този потребител да бъде създаден както в localhost, така и в „%“, както е в.
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
след това,
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
и накрая,
FLUSH PRIVILEGES;
EXIT;
Ако нямате същия потребител, създаден както по-горе, когато влезете локално, може да наследите основни привилегии на localhost и да имате проблеми с достъпа. Ако искате да ограничите достъпа на myuser, тогава ще трябва да прочетете синтаксиса на израза GRANT ТУК Ако преминете през всичко това и все още имате проблеми, публикувайте допълнителен изход за грешка и съответните редове my.cnf.
ЗАБЕЛЕЖКА:Ако lsof не се върне или не бъде намерен, можете да го инсталирате ТУК въз основа на вашата Linux дистрибуция. Не се нуждаете от lsof, за да накарате нещата да работят, но е изключително удобен, когато нещата не работят според очакванията.
АКТУАЛИЗАЦИЯ:Ако дори след добавяне/промяна на bind-address
в my.cnf
не работи, след това отидете и го променете на мястото, където първоначално е декларирано:
/etc/mysql/mariadb.conf.d/50-server.cnf