我对设置新的 MySql 服务器有点困惑。它必须是独立服务器。其他 Web 服务器应该连接到它。
网络服务器的主机名为“webserver”,IP 为 192.168.1.50,并且正在运行
mysql 服务器的主机名为“mysql”,IP 为 192.168.1.60,并且正常运行
我喜欢使用主机名而不是 IP 地址来连接到 mysql 服务器。
在 /etc/hosts (mysql 服务器)中我有:
127.0.0.1 localhost
192.168.1.50 webserver
该网络服务器没有虚拟主机,有一个大目录 /var/www,其中包含几个正在开发的网站。
我以此作为指导: http://library.linode.com/databases/mysql/standalone-mysql-server
在服务 mysql 启动:
start: Rejected send message, 1 matched rules; type="method_call",
sender=":1.8" (uid=1000 pid=5060 comm="start mysql ")
interface="com.ubuntu.Upstart0_6.Job" member="Start"
error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart"
(uid=0 pid=1 comm="/sbin/init")
日志条目
120421 16:10:31 InnoDB: Starting shutdown...
120421 16:10:36 InnoDB: Shutdown completed; log sequence number 0 44233
120421 16:10:36 [Note] /usr/sbin/mysqld: Shutdown complete
120421 16:14:04 [Note] Plugin 'FEDERATED' is disabled.
120421 16:14:04 InnoDB: Initializing buffer pool, size = 8.0M
120421 16:14:04 InnoDB: Completed initialization of buffer pool
120421 16:14:04 InnoDB: Started; log sequence number 0 44233
120421 16:14:04 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
120421 16:14:04 [ERROR] Do you already have another mysqld server running on port: 3306 ?
120421 16:14:04 [ERROR] Aborting
答案1
这是一个老问题,但我还是要回答它,因为我今天遇到了同样的问题并找到了解决方案。
简短的回答是您需要从这里完成静态 IP 指南: http://library.linode.com/networking/configuring-static-ip-interfaces
由于您看起来正在使用 Linode 和私有 IP 地址,因此我的答案将针对该环境进行定制。
我实际上使用的是 CentOS,所以还没有在 Ubuntu 上尝试过这些说明,但 CentOS 说明是准确的,所以这里是针对 Ubuntu/Debian 的
首先,/etc/network/interfaces
改为
# The loopback interface auto lo iface lo inet loopback
# Configuration for eth0 and aliases
# This line ensures that the interface will be brought up during boot.
auto eth0 eth0:0 eth0:1
# eth0 - This is the main IP address that will be used for most outbound connections.
# The address, netmask and gateway are all necessary.
iface eth0 inet static
address 12.34.56.78
netmask 255.255.255.0
gateway 12.34.56.1
# eth0:0
# This is a second public IP address.
iface eth0:0 inet static
address 34.56.78.90
netmask 255.255.255.0
# eth0:1 - Private IPs have no gateway (they are not publicly routable)
# so all you need to specify is the address and netmask.
iface eth0:1 inet static
address 192.168.133.234
netmask 255.255.128.0
注意 - 这些地址直接来自 Linode 示例配置 - 将 IP 更改eth0:1
为 Linode 配置页面提供的私有 IP 地址。同时将 IP 更改eth0
为 Linode 分配的主 IP 地址。
以 root 身份在命令提示符下输入/etc/init.d/networking restart
就是这样 - 它现在应该可以按您预期的方式工作了。
上面链接的页面还提供了 Fedora/CentOS、Arch、Gentoo 和 OpenSuse 的说明。
编辑:我发现我也必须更新我的 DNS 解析器设置。
编辑/etc/resolv.conf
# Generated by NetworkManager
domain linode.com
search linode.com
nameserver <your-nameserver-here>
nameserver <your-other-nameserver-here>
options rotate
请注意,domain
和search
值是可选的,在我的文件中与 Linode 在其示例中建议的值不同。这是我的文件的默认设置,我保留了这种设置 - 只需删除不准确的名称服务器并从我的 Linode 服务器远程访问页面添加 2 个名称服务器。还添加了以下行options rotate
。
Linode 还建议卸载 DHCP,但我觉得这没必要。如果你愿意,可以使用以下命令apt-get remove isc-dhcp-client dhcp3-client dhcpcd
答案2
添加所有应该连接到 mysql 的服务器192.168.1.60 mysql
..../etc/hosts