Я использую ubuntu в VMWare. Я установил mysql и запустил его. Я могу войти в систему с помощью root пользователя и пароля. У меня есть IP-адрес виртуальной машины. В моем коде я написал
с использованием MySql.Data; return new MySql.Data.MySqlClient.MySqlConnection( "username = root; источник данных = 192.168.100.129, пароль = xyz" );
вместо источника данных я также попробовал сервер. Я получаю сообщение об исключении Unable to connect to any of the specified MySQL hosts.
i пробежал netstat -an | grep -i mysql
и увидел
unix 2 [ ACC ] STREAM LISTENING 23404 /var/run/mysqld/mysqld.sock
поэтому я добавил порт = 23404; и попробовал как data source
, так и server
. Не повезло. Я действительно могу отправить этот адрес на виртуальную машину (я получил адрес, используя ifconfig). Итак, в чем моя проблема и как мне подключиться? Это первый раз, когда я использую это. Я всегда использовал sqlite в прошлом.
Звучит как проблема MySQL, а не проблема .NET. По умолчанию MySQL только слушает подключения с localhost (по соображениям безопасности). Вам нужно прямо сказать, чтобы это не делалось. Смотрите это: http://www.howtogeek.com/howto/mysql/switch-mysql-to-listen-on-tcp/.
"username=root;data source=192.168.100.129,password=xyz"
странно: почему разделитель a;
а потом а,
аdata source
с пробелом? Вы разрешили внешнее подключение к mysql (/etc/hosts.allow)? Можете ли вы подключиться с машины, на которой вы разрабатываете, с любым клиентом mysql?