【问题标题】:Vagrant SSH - Setting up and connecting to MySQLVagrant SSH - 设置并连接到 MySQL
【发布时间】:2014-09-11 10:01:52
【问题描述】:

我最近安装了 VM 和 Vagrant 来处理我的 Laravel 项目。所以我是新手。我的主机上没有安装 MySQL。我尝试Vagrant up 然后ssh vagrant@127.0.0.1 -p 2222。到目前为止,一切都很好。我想访问 MySQL,但无法访问。这就是我所做的:

mysql -u root -p (password "") -h localhost
mysql -u root -p (password "root") -h localhost
mysql -u root -h localhost

甚至所有没有-h localhost 的人。我以前没有设置过 MySQL,所以请记住,我从来没有注册过访问 MySQL 的帐户。

我四处寻找,发现了这个:

转到:

sudo vi /etc/mysql/my.cnf

注释掉:skip-external-locking 并更改:bind-address: 0.0.0.0

然后我返回并使用 sudo service mysql restart 重新启动 MySQL 并再次尝试了这些命令...仍然无法访问。

顺便说一句,我得到的错误是:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

但是,我发现了一些有趣的东西...... 我去了cd /etc/mysql,找到了一个名为:debian.cnf的文件,它有一个用户名和密码,我尝试了那个用户名和密码,我已经登录了!!!但我不认为我应该那样做。该文件提供的密码可能是某物的哈希值。

我卡住了。我不知道从这里做什么!

更新 我忘了补充:如果我只提供mysql,我会收到此错误ERROR 1045 (28000): Access denied for user 'vagrant'@'localhost' (using password: NO)

【问题讨论】:

    标签: mysql laravel ssh virtual-machine vagrant


    【解决方案1】:

    考虑到您在本地 vagrant 服务器上工作,我认为可以尝试排除任何其他可能的问题。绝对不要在生产服务器上这样做,并确保您的 Vagrant 机器只能由您访问。

    # fill in the blanks for root password, db name, username (local), and password
    mysql -u root -p"rootpassword" -e "CREATE DATABASE db_name;
    CREATE USER 'local'@'localhost' IDENTIFIED BY 'password';
    CREATE USER 'local'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON * . * TO 'local'@'localhost';
    GRANT ALL PRIVILEGES ON * . * TO 'local'@'%';
    FLUSH PRIVILEGES;"
    
    # change bind address to allow connections from anywhere
    sed -i "s/bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
    
    # restart the sql service
    sudo service mysql restart
    

    【讨论】:

      【解决方案2】:

      我运行这个

      homestead up
      homestead ssh
      mysql -u homestead -psecret
      

      对于 laravel 5.2 和默认 .env 值

      DB_CONNECTION=mysql
      DB_HOST=127.0.0.1
      DB_PORT=3306
      DB_DATABASE=homestead
      DB_USERNAME=homestead
      DB_PASSWORD=secret
      

      【讨论】: