Vagrant SSH -设置并连接到MySQL

s1ag04yj  于 2022-10-31  发布在  Mysql
关注(0)|答案(2)|浏览(168)

我最近安装了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)

kqlmhetl

kqlmhetl1#

考虑到您正在本地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
xesrikrc

xesrikrc2#

我负责这个

homestead up
homestead ssh
mysql -u homestead -psecret

对于laravel 5.2和default .env值

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

相关问题