如何在同一台机器上为MySQL配置两个不同的端口?我知道默认端口是3306.但我也想配置3307和3308.这可能吗?
目前的一个奖励问题;)
我们可以为不同的数据库分配不同的端口,还可以分别分配/创建凭据吗?
答案 0 :(得分:8)
您可以使用--port=port_num
选项。有关如何配置多个mysql实例的更多信息,请查看here。
答案 1 :(得分:6)
你可以启动几个mysql实例:
mysqld_safe --defaults-file=/path/to/my.cnf1
mysqld_safe --defaults-file=/path/to/my.cnf2
mysqld_safe --defaults-file=/path/to/my.cnf3
并更改每个my.cnf的[mysqld]部分中的端口参数。
如果您只想拥有一个mysqld进程/数据库,可以使用端口重定向(使用linux):
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3307 -j REDIRECT --to-port 3306
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3308 -j REDIRECT --to-port 3306
答案 2 :(得分:4)
您可以复制/etc/mysql/my.cnf
,更改其中的端口并将pathes更改为数据目录,因为我非常确定您不能在同一目录中提供超过1个mysql服务实例。
检查http://dev.mysql.com/doc/refman/5.1/en/multiple-servers.html。
前:
cp /etc/mysql/my.cnf /etc/mysql/my-3307.cnf
//edit my-3307.cnf, for example
port = 3307
basedir = /var/lib/mysql-3307
datadir = /var/lib/mysql-3307
//end-edit
mysql_upgrade --defaults-file=/etc/mysql/my-3307.cnf #checks the syntax and creates the dirs you need.
#start mysqld
mysqld --defaults-file=/etc/mysql/my-3307.cnf
答案 3 :(得分:1)
一些更有用的提示:
mysqld_multi --example
/var/lib/mysql2
。答案 4 :(得分:0)
我正在使用CentOS。 不是太简单,