gpt4 book ai didi

mysql - 使用 Sequel Pro 连接到 Vagrant 实例上的 MySQL

转载 作者:IT王子 更新时间:2023-10-29 00:30:01 26 4
gpt4 key购买 nike

我正在 Vagrant 上运行 Laravel,我正在尝试连接 Sequel Pro。

我刚开始使用 Vagrant,我遵循了一些关于连接到 Sequel Pro 的教程,但都没有成功。

这是我的 Vagrant 文件:

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

Vagrant.configure('2') do |config|
config.vm.hostname = 'laravel'
config.vm.boot_timeout = 3600
config.vm.box = 'debian-73-i386-virtualbox-puppet'
config.vm.box_url = 'http://puppet-vagrant-boxes.puppetlabs.com/debian-73-i386-virtualbox-puppet.box'

config.vm.network :forwarded_port, guest: 8000, host: 8000
config.vm.network :forwarded_port, guest: 8500, host: 8500

config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--memory', '1536']
end

config.vm.provision :puppet do |puppet|
puppet.manifests_path = 'puppet/'
puppet.manifest_file = 'init.pp'
puppet.module_path = 'puppet/modules/'
# puppet.options = '--verbose --debug'
end

end

来自my.cnf:

bind-address            = 127.0.0.1 

这是我的 /etc/hosts

127.0.0.1       localhost
127.0.1.1 laravel
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

编辑:将绑定(bind)地址更改为 0.0.0.0 仍然不起作用在 Sequel Pro 我有

MySQL Host: 0.0.0.0
username: root
Password: (mysql password)
SSH Host 0.0.0.0
SSH User: vagrant
SSH Password: vagrant

编辑:这是我的 Vagrant 主机文件 - etc/hosts

这是我的主机文件

127.0.0.1       localhost
127.0.1.1 laravel
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

最佳答案

问题是你在 my.cnf 中设置的 MySQL 现在只能通过 Vagrant 服务器内的 localhost 连接:

bind-address            = 127.0.0.1 

要在 MySQL 中启用网络,您应该将 my.cnf 中的设置更改为:

bind-address            = 0.0.0.0

然后重启MySQL服务。不确定在 Vagrant 中会发生什么,但在 Ubuntu 中你会输入这样的命令:

sudo service mysql restart

您可能必须检查您的 MySQL 用户权限,以确保实际上可以从任何 IP 地址使用 MySQL 中的用户——有时它们被严格设置为 localhost127.0.0.1——还有。

the official MySQL documentation 中所述:

The server treats different types of addresses as follows:

  • If the address is 0.0.0.0, the server accepts TCP/IP connections on all server host IPv4 interfaces.

  • If the address is ::, the server accepts TCP/IP connections on all server host IPv4 and IPv6 interfaces. Use this address to permit both IPv4 and IPv6 connections on all server interfaces.

  • If the address is an IPv4-mapped address, the server accepts TCP/IP connections for that address, in either IPv4 or IPv6 format. For example, if the server is bound to ::ffff:127.0.0.1, clients can connect using --host=127.0.0.1 or --host=::ffff:127.0.0.1.

  • If the address is a “regular” IPv4 or IPv6 address (such as 127.0.0.1 or ::1), the server accepts TCP/IP connections only for that IPv4 or IPv6 address.

也就是说,将 MySQL 或任何数据库服务器暴露给世界是不可取的。但在像这样的本地开发的情况下是可以接受的。

因此,如果无法启用 MySQL 网络,您还可以使用 Sequel Pro 中内置的 SSH 隧道功能通过 SSH 连接到 MySQL。所有不同连接类型的详细信息显示在 the official Sequel Pro site here 上。 .但这张截图很好地总结了这一点。

基本上,您只需像往常一样设置您的 localhost/127.0.0.1 MySQL 信息。但是您还可以将用于 SSH 的 SSH 信息添加到您的服务器中。而 Sequel Pro 将使用该 SSH 连接来无缝地连接到 MySQL。这可能是处理 MySQL 网络和用户权限问题的更好方法。

enter image description here

对于 Sequel Pro 中的 SSH 隧道,您只需执行以下操作:

  • 名称:您希望连接的名称。
  • MySQL主机:MySQL主机的IP地址,应该是localhost127.0.0.1
  • 用户名:MySQL 数据库用户名。
  • 密码:连接到 MySQL 数据库用户名的密码。
  • 数据库:可选(您要连接的数据库)
  • 端口:默认值为 3306,因此只有在您确实必须设置为其他任何值时才更改此值。

现在在这里为您的 Vagrant 安装设置 SSH 设置:

  • SSH 主机:您的 Vagrant 机器的主机名或 IP 地址。
  • SSH 用户:该 Vagrant 机器的 SSH 用户名。
  • SSH 密码:连接到该 SSH 用户的密码。
  • SSH 端口:默认值为 22,因此只有在您确实必须设置为其他任何值时才更改此端口。

关于mysql - 使用 Sequel Pro 连接到 Vagrant 实例上的 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23959457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com