Я пытаюсь сделать удаленный сервер mysql на своем компьютере. Я знаю, что это не очень разумно, но я все равно пробую. Я не уверен, какие шаги нужно выполнить здесь, но, возможно, кто-нибудь сможет их заполнить. Прежде всего, у меня на компьютере установлен MySQL вместе с администратором mysql. Затем я перенаправляю порт 3306. Когда я вхожу в систему администратора MySQL или в браузере запросов, я вхожу в систему как localhost. Теперь я знаю, что есть еще несколько шагов, поскольку mysql все еще не является общедоступным. Может ли кто-нибудь помочь мне их заполнить?
Хорошо, ребята, я нигде не могу найти свой файл my.cnf! Я просмотрел MySQL Server 5.1 и все мои каталоги MySQL, но не могу его найти. У меня даже нет каталога etc ...
Ответ geoff совершенно не соответствует тому, что вы хотите сделать (и не обязательно, если вы просто подключаетесь к своему IP-адресу). Я бы знал, потому что я только что настроил свою первую базу данных для удаленного доступа! Одна вещь, которую нужно будет сделать, - это создать файл my.cnf (проверьте документацию на предмет его расположения в зависимости от вашего дистрибутива и операционной системы). Мой выглядит так:
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
bind-address=""MY IP ADDRESS HERE""
#bind-address=0.0.0.0
[mysql]
prompt="\U>"
prompt=(\\u@\\h) [\\d]>\\_
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Важными частями являются порт (хотя у меня есть порт по умолчанию) и адрес привязки. Указанный адрес привязки будет вашим IP-адресом. Закомментированный 0.0.0.0
это дикая карта IP-адресов.
Прежде чем вы сможете подключиться к базе данных mysql, вы должны предоставить пользователю, к которому вы подключаетесь, разрешения для этого. Что-то вроде следующего поможет вам начать:
GRANT ALL PRIVILEGES ON *.* for 'root'@'%' IDENTIFIED BY 'db_passwd';
*.*
- это подстановочный знак databasename.tablename. 'root'
может быть любой пользователь. В '%'
- это подстановочный знак хоста, но я настоятельно рекомендую указывать только ваш IP-адрес ('root'@'123.123.123.123'
). Ваш пароль (если есть) будет db_passwd
, и включите одинарные кавычки при выполнении строки. Тип FLUSH PRIVILEGES
чтобы перезагрузить эти новые привилегии.
Я бы использовал программу сетевого монитора, чтобы проверить, подключаетесь ли вы к своему серверу mysql. Посмотрим, как это пойдет. Дополнительную помощь также можно найти в Google "доступ к сети mysql" и т. Д., Вот как я заставил его работать.