- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在 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 中的用户——有时它们被严格设置为 localhost
或 127.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 网络和用户权限问题的更好方法。
对于 Sequel Pro 中的 SSH 隧道,您只需执行以下操作:
localhost
或127.0.0.1
现在在这里为您的 Vagrant 安装设置 SSH 设置:
关于mysql - 使用 Sequel Pro 连接到 Vagrant 实例上的 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23959457/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!