質問

私はvagrantを持つ新しいVirtualBoxマシンをマウントし、そのVM IをインストールしたInstally MySQL Serverをインストールしました。VM以外のサーバーに接続する方法私はすでにVagrantFileのポート3306を転送しますが、MySQLサーバーに接続しようとすると、エラーで答えます。 「初期通信パケットの読み」

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
.

役に立ちましたか?

解決

MySQLが0.0.0.0にバインドされ、127.0.0.1ではなく、マシンの外部からアクセスできないことを確認してください

my.confファイルを編集してbind-address項目を探してこれを確実にすることができます - bind-address = 0.0.0.0のように見えます。その後、これを保存してMySQLを再起動します。

sudo service mysql restart
.

本番サーバーでこれを行っている場合は、ここで説明したセキュリティの影響を認識したいです。 https://serverfault.com/questions/257513/how-bad-is-setting-septing-mysqls-jpdress-to-0-0-0-0

他のヒント

ssh vagrant@127.0.0.1 -p 2222(パスワードvagrant)でボックスにログインします。

その後、sudo nano /etc/mysql/my.cnfと、#

で次の行をコメントアウトします。
#skip-external-locking 
#bind-address
.

保存して終了

それから:sudo service mysql restart

その後、SSHをMySQLサーバーに接続できます。

私は最近この問題に遭遇しました。私はPUPHPETを使用して設定を生成しました。

SSHを介してMySQLに接続すると、「vagrant」パスワードは私のために機能していませんでした、代わりに私はSSHキーファイルを通して認証されなければなりませんでした。

MySQL Workbench

に接続する

接続方法

SSH上の標準TCP / IP

ssh

Hostname: 127.0.0.1:2222 (forwarded SSH port)
Username: vagrant
Password: (do not use)
SSH Key File: C:\vagrantpath\puphpet\files\dot\ssh\insecure_private_key
              (Locate your insercure_private_key)
.

MySQL

Server Port: 3306
username: (root, or username)
password: (password)
.

接続をテストします。

これをやり遂げようとしているMySQL WorkbenchまたはSequel Proこれらは入力です:

Mysql Host: 192.168.56.101 (or ip that you choose for it)
username: root (or mysql username u created)
password: **** (your mysql password)
database: optional
port: optional (unless you chose another port, defaults to 3306)

ssh host: 192.168.56.101 (or ip that you choose for this vm, like above)
ssh user: vagrant (vagrants default username)
ssh password: vagrant (vagrants default password)
ssh port: optional (unless you chose another)
.

ソース: https://coderwall.com/p/zwqvg

井戸はどちらも私を助けてくれたので、私はもっと見て、この記事

と一言での答えは、次のとおりです。

MySQL Workbenchを使用したMySQLへの接続

Connection Method: Standard TCP/IP over SSH
SSH Hostname: <Local VM IP Address (set in PuPHPet)>
SSH Username: vagrant (the default username)
SSH Password: vagrant (the default password)
MySQL Hostname: 127.0.0.1
MySQL Server Port: 3306
Username: root
Password: <MySQL Root Password (set in PuPHPet)>
.

与えられたアプローチの使用MySQL Workbenchを使用して、Valentina Studioを使用して、Host UbuntuマシンからVagrantのMySQLデータベースに接続できました。

ボックスにログインした後に私のために機能したステップ:

MySQL設定ファイルを見つける:

$ mysql --help | grep -A 1 "Default options"

Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
.

Ubuntu 16では、パスは通常/etc/mysql/mysql.conf.d/mysqld.cnf

です。

バインドアドレスの設定ファイルを変更する:

存在する場合は、以下のように値を変更してください。存在しない場合は、[mysqld]セクション内の任意の場所に追加してください。

bind-address = 0.0.0.0
.

設定ファイルに変更を保存し、MySQLサービスを再起動します。

service mysql restart
.

データベースユーザーへのアクセス/アクセス許可:

rootユーザーとしてMySQLデータベースに接続し、次のSQLコマンドを実行します。

mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'password';

mysql> GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%';
.

これは私のために働いた: vagrant

でMySQLに接続する
username: vagrant password: vagrant

sudo apt-get update sudo apt-get install build-essential zlib1g-dev
git-core sqlite3 libsqlite3-dev sudo aptitude install mysql-server
mysql-client


sudo nano /etc/mysql/my.cnf change: bind-address            = 0.0.0.0


mysql -u root -p

use mysql GRANT ALL ON *.* to root@'33.33.33.1' IDENTIFIED BY
'jarvis'; FLUSH PRIVILEGES; exit


sudo /etc/init.d/mysql restart




# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::Config.run do |config|

  config.vm.box = "lucid32"

  config.vm.box_url = "http://files.vagrantup.com/lucid32.box"

  #config.vm.boot_mode = :gui

  # Assign this VM to a host-only network IP, allowing you to access
it   # via the IP. Host-only networks can talk to the host machine as
well as   # any other machines on the same network, but cannot be
accessed (through this   # network interface) by any external
networks.   # config.vm.network :hostonly, "192.168.33.10"

  # Assign this VM to a bridged network, allowing you to connect
directly to a   # network using the host's network device. This makes
the VM appear as another   # physical device on your network.   #
config.vm.network :bridged

  # Forward a port from the guest to the host, which allows for
outside   # computers to access the VM, whereas host only networking
does not.   # config.vm.forward_port 80, 8080

  config.vm.forward_port 3306, 3306

  config.vm.network :hostonly, "33.33.33.10"


end
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top