3

我想在同一台机器上的两个不同端口上使用 MySQL 服务器。我已经制作了两个单独的配置文件。当我尝试在我定义的第二个端口上连接到 MySQL 服务器时,我无法连接。运行 MySQL 的操作系统是 Windows Vista。我还尝试mysqld在指定端口后从命令行开始。

这是我为 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"
4

3 回答 3

2

最好使用 mysql_multi http://www.pythian.com/blog/using-mysqld_multi-to-manage-multiple-servers/

配置的副本是肮脏的黑客恕我直言

于 2013-11-09T05:07:48.673 回答
1

安装过程会因您的服务器/操作系统而略有不同。

对于 linux,您可能会发现这很有用 - http://code.openark.org/blog/mysql/manually-installing-multiple-mysql-instances-on-linux-howto

谷歌它,你也可以为其他人找到。

于 2009-07-04T09:49:00.580 回答
0

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

于 2009-07-04T09:44:45.923 回答