如果需要运行多个服务器,而且又不想同时安装两个mysql时,那么除了端口不同外,数据库也应该不同,否则多个服务访问一个数据库将带来意想不到的结果,所以运行多个服务时,需要不同的socket,pid-file,datadir,port,log
二进制分发安装,数据库文件典型的缺省目录放在/usr/local/mysql/data下,下面就把配置多个服务的步骤写下来:<注:下面只讲运行两个服务的情况,多个就是重复下面的操作>
/www/mysql/bin/safe_mysqld --user=mysql --pid-file="$rundir"/mysql.pid
--datadir="$rundir"/var -O max_connections=500 -O wait_timeout=600 -O key_buffer=32M
--port="$port" --socket="$rundir"/mysql.sock &
说明:
1. shell>mkdir /mysql2 用来新建存放另一个数据的目录
2. shell>cd mysql2 进入mysql2目录中
3. shell>mkdir log 新建log目录,用来存放log
4. shell>cp /usr/local/mysql/data /mysql2 关键一步,将初始数据库复制到mysql2的目录中,新的服务需要访问
5. shell>cd /usr/local/mysql
6. shell>./bin/mysqld_safe --user=root --pid-file=/…/mysql2/data/mysqld.pid --socket=/…/mysql2/data/mysql.sock
--datadir=/…/mysql2/data
--port=4306
--log=/…/mysql2/log/mysql.log &
上面的命令比较长,要仔细输入,如果没有出现“……ended”字样,大功告成too
此时你同样可以
l 通过 shell>netstat –atln 命令查看4306端口是否已经启用
l 也可以 shell>ps -ef | grep mysqld 查看当前系统中的mysqld的进程
l 或直接 shell>bin/mysql –u root 进入mysql客户端,进行mysql操作
或shell>bin/mysqladmin shutdown 停止mysql服务
注意:与单个服务不同的是,当进入mysql客户端和停止mysql服务时需要指定该服务的sock文件的地址,即
shell>./bin/mysql –u root –S /…/mysql2/data/mysql.sock
shell>./bin/mysqladmin –S /…/mysql2/data/mysql.sock shutdown
其中 S 要大写
通过上面的文字,希望对遇到同样问题的朋友有点点帮助!