eclipseで書いているjspからvagrant上のcentosで動いているmysqlに接続しています。
つまりMacOSからvagrant上のCentOSへ接続しています。
eclipseのコードからは「192.168.33.10」で接続します。
mysql
1create user 'vagrant'@"%"; 2grant all privileges on *.* to 'vagrant'@'%' with grant option;
Vagrantファイルは以下のようにデフォルトから2箇所だけ変更しています。
Vagrant
1config.vm.network "forwarded_port", guest: 3306, host: 3306 2config.vm.network "private_network", ip: "192.168.33.10"
/etc/my.cnfは以下のように編集しています。
my.cnf
1bind-address = 0.0.0.0
mysqlにあるユーザは以下のようになっています
linux
1mysql> select user,host from mysql.user; 2+---------+--------------------------------+ 3| user | host | 4+---------+--------------------------------+ 5| vagrant | % | 6| root | 127.0.0.1 | 7| root | ::1 | 8| | localhost | 9| root | localhost | 10| | vagrant-centos64.vagrantup.com | 11| root | vagrant-centos64.vagrantup.com | 12+---------+--------------------------------+
本題ですが、
①mysql側で
create user 'vagrant'@"%";でユーザを作って
192.168.33.10でvagrantユーザに入り、
tableを作成し、
eclipse側で192.168.33.10に接続することはできるのですが、
②mysql側で
create user 'vagrant'@"192.168.33.10";でユーザを作って192.168.33.10でvagrantユーザに入り、
tableを作成し、
eclipse側で192.168.33.10に接続することが出来ないのはなぜでしょうか?
接続出来なかった時のeclipseのエラーで「Access denied for user 'vagrant'@'192.168.33.1'」と出たので、
MacOS側のアドレスが192.168.33.1なのだと思い、ifconfigで確認したところ
linux
1vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 2 ether 0a:00:27:00:00:00 3 inet 192.168.33.1 netmask 0xffffff00 broadcast 192.168.33.255
と出たので間違いでなければそうではないかと思っています。
②の方法で接続出来ないのは同じvagrantユーザにmac側が192.168.33.1で、centOS側が192.168.33.10でテーブルを作っているからでしょうか?
また、
eclipseから「localhost」でvagrant上のmysqlにアクセスしたいのですが、どうすれば良いですか?