首页 > 学技术 > 技术网文 > MySQL > 正文

[精华] 启动多个mysqld-HOWTO


来源 chinaunix.net 酷勤网整理

为达到启动多个mysqld服务,只要启动时使用不同pid-file,datadir,socket,port是完全的可行。
步骤:
1、准备目录
mkdir /mysql1
chown mysql:mysql /mysql1
chmod 755 mysql /mysql1
2、准备新的服务要读取的数据库
cp /path/to/mysql/var /mysql1
3、创建mysqld启动脚本
#start_msyql
#!/bin/sh
rundir="$1"
port="$2"
echo "$rundir"
/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 &
说明:
脚本使用方法./start_mysql /mysql1 3307
./start_mysql dir port
dir:指的是mysql数据库及运行时产生的文件所在目录
port:指新的mysqld监听的端口

4、创建mysqld的停止脚本
#stop_mysql
#!/bin/sh
rundir="$1"
echo "$rundir"
/www/mysql/bin/mysqladmin -u root -p -S"$rundir"/mysql.sock shutdown



 seacaptain 回复于:2003-09-24 18:58:08

没人看啊


 seacaptain 回复于:2003-09-24 18:58:33

这个版面太不活跃了


 andrewchoi 回复于:2003-09-24 21:20:27

啟動多過 mysqld 有什麼可處?
比一個 deamon 有性能上有分別嗎?
請指教一下!:D


 gunguymadman007 回复于:2003-09-25 09:57:15

引用:原帖由 "seacaptain"]这个版面太不活跃了
 发表:

     是啊   发的帖子几乎都是白版清一色     挺郁闷的


 jo_fox 回复于:2004-05-14 11:01:45

#start_msyql
      2 #!/bin/sh
      3 rundir="/home/qd_data"
      4 port="4567"
      5 echo "$rundir"
      6 /usr/bin/safe_mysqld --user=mysql --pid-file="$rundir"/mysql.pid --datad        ir="$rundir" -O max_connections=150 -O wait_timeout=600 -O key_buffer=32        M --port="$port" --socket="$rundir"/mysql.sock &


启动时候出错

040514 11:07:05  mysqld started
      2 040514  3:07:05  Can't start server: Bind on TCP/IP port: Address alread        y in use
      3 040514  3:07:05  Do you already have another mysqld server running on po        rt: 3306 ?
      4 040514  3:07:05  Aborting
      5 
      6 040514  3:07:05  /usr/sbin/mysqld: Shutdown Complete
      7 
      8 040514 11:07:05  mysqld ended


怎么还是使用3306端口阿?


 bon 回复于:2005-04-02 00:03:45

请问楼主这样做有什么好处吗?




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=169061

收藏到: