2009-07-04 89 views
3

我想在同一台机器的两个不同端口上使用MySQL服务器。我做了两个单独的配置文件。当我试图连接到我定义的第二个端口上的MySQL服务器时,我无法连接。运行MySQL的操作系统是Windows Vista。我也尝试在指定端口后从命令行启动mysqld在mysql中运行多个mysql实例

这是示例文件,我已经改变了MySQL服务器从两个不同的端口为:

# CLIENT SECTION 
# ---------------------------------------------------------------------- 
# 
# The following options will be read by MySQL client applications. 
# Note that only client applications shipped by MySQL are guaranteed 
# to read this section. If you want your own MySQL client program to 
# honor these values, you need to specify it as an option during the 
# MySQL client library initialization. 
# 
[client] 

port=3306 

[mysql] 
mysql-path="C:\Program Files\MySQL\MySQL Server 5.1\bin" 
default-character-set=latin1 

[client] 

port=3307 

[mysql1] 
mysql1-path="C:\Program Files\MySQL2\MySQL Server 5.1\bin" 
default-character-set=latin1 

# SERVER SECTION 
# ---------------------------------------------------------------------- 
# 
# The following options will be read by the MySQL Server. Make sure that 
# you have installed the server correctly (see above) so it reads this 
# file. 
# 
[mysqld] 
mysqld-path="C:\Program Files\MySQL\MySQL Server 5.1\bin\" 

# The TCP/IP Port the MySQL Server will listen on 
port=3306 

#Path to installation directory. All paths are usually resolved relative to this. 
basedir="C:/Program Files/MySQL/MySQL Server 5.1/" 

#Path to the database root 
datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/" 
# 
server_id=1 

[mysqld1] 
# The TCP/IP Port the MySQL Server will listen on 
port=3307 
server_id=2 
mysqld1-path="C:\Program Files\MySQL2\MySQL Server 5.1\bin\" 

#Path to installation directory. All paths are usually resolved relative to this. 
basedir="C:/Program Files/MySQL2/MySQL Server 5.1/" 

#Path to the database root 
datadir="C:/ProgramData/MySQL2/MySQL Server 5.1/Data/" 
# 
# The default character set that will be used when a new schema or table is 
# created and no character set is defined 
default-character-set=latin1 

# The default storage engine that will be used when create new tables when 
default-storage-engine=INNODB 

# Set the SQL mode to strict 
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
+0

你想运行两个MySQL实例(每个都有自己的一套数据库),或只是一个? – BryanH 2009-07-04 06:08:27

+0

是的,我想运行它们自己的一组数据库的mysql实例 – 2009-07-04 09:16:10

+0

@MySQLDBA,不应该在http://serverfault.com? – Pacerier 2015-08-21 11:39:25

回答

0

您还需要指定不同的datadir的命令(即其中包含数据库文件的目录) -线。您不能在不同的实例中打开相同的数据库,因为它们会互相锁定和/或导致数据损坏。

+0

嗨,我不想打开相同的数据库。但我无法创建两个实例,虽然我指定了不同的datadir。我需要为此做些什么。我的意思是我需要添加--default-extra-file除了默认文件 – 2009-07-04 10:16:00