Re: Starting a 2nd MySQL instance on UNIX
Would you kindly supply the changes you made, for our collective education? Thanks. Arthur On Mon, Apr 28, 2008 at 11:54 AM, Mark-E [EMAIL PROTECTED] wrote: Hi Ian, Thanks for the reply. I was specifying the new port of 3307. I actually got it working over the weekend. Turns out I had to add a few entries in the mysqld section of the my.cnf file and I was able to connect. Regards, Mark
RE: Starting a 2nd MySQL instance on UNIX
Hi Arthur, Sure, no problem! This actually proved to be rather tricky because the first instance was installed in /usr/local/mysql. It seems that by default, MySQL looks for things in this locations so if you deviate from it, you have to be explicit with mysql and tell it where to look for things. My new MySQL 50 instance had to run alongside the 4.0.20 instance so I installed it into /usr/local/mysql-50 ** Here is a summary of things I had to do to bring this up properly ** I created a my.cnf and put it in /usr/local/mysql-50 In the my.cnf, I defined the following (The first entry is for the mysql program and the 2nd entry is for the mysqld program). [mysql] socket=/tmp/mysql50/mysql.sock port=3307 [mysqld] user=mysql5 pid-file=/usr/local/mysql-50/mysql50.pid log=/usr/local/mysql-50/mysql50d.log port=3307 max_allowed_packet=32M == I had to set this so I could import the MySQL 4.0.20 database properly. Some users may not need this set as high. socket=/tmp/mysql50/mysql.sock #Path to installation directory. All paths are usually resolved relative to this. basedir=/usr/local/mysql-50 #Path to the database root datadir=/usr/local/mysql-50/data You have to be careful to not only pick a separate port, but also a separate pid file for the process ID and a separate socket file, especially if you are running both instance at the same time. I modified the mysql.server in the /support-files folder. I had to set the basedir and the datadir. I then copied this to the /bin folder. I edited the mysql_install_db file in the /scripts folder and set the basedir and datadir. I then ran that to create the mysql database. As root, I started the server ./bin/mysql.server start (The server starts up :) ). Since the user mysql50 is defined in this script, it then starts mysqld as the mysql50 user. Now, the tricky part, to run mysql and access the mysql database, you cannot just say mysql -u root -p mysql, it will try to connect to the default instance in /usr/local/mysql. What you have to do is: Mysql --defaults-file=/usr/local/mysql-50/my.cnf -u root -p mysql This now properly connects to the new mysql50 instance. Also, if you want to run mysqladmin, you need to specify the --defaults-file option. Make sure wherever you use the --defaults-file option that it is the FIRST command line option used. It took me quite some time to get this all working but now, I understand MySQL much better. I hope this proves to be some help to you and others out there who may be going through the same thing. Regards, Mark From: Arthur Fuller [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 29, 2008 9:29 AM To: Eramo, Mark Cc: mysql@lists.mysql.com Subject: Re: Starting a 2nd MySQL instance on UNIX Would you kindly supply the changes you made, for our collective education? Thanks. Arthur On Mon, Apr 28, 2008 at 11:54 AM, Mark-E [EMAIL PROTECTED]mailto:[EMAIL PROTECTED] wrote: Hi Ian, Thanks for the reply. I was specifying the new port of 3307. I actually got it working over the weekend. Turns out I had to add a few entries in the mysqld section of the my.cnf file and I was able to connect. Regards, Mark
Re: Starting a 2nd MySQL instance on UNIX
Hi Ian, Thanks for the reply. I was specifying the new port of 3307. I actually got it working over the weekend. Turns out I had to add a few entries in the mysqld section of the my.cnf file and I was able to connect. Regards, Mark Ian Simpson wrote: Mark, When you try to log-in to the new instance, are you specifying the new port number to the client? If you don't give it the new port number, then it will connect to the default port, which is presumably your 4.0.20 instance. Mark-E wrote: I have a Solaris box where MySQL 4.0.20 instance is running (to support Bugzilla 2.22). I have loaded mysql5.0 on the same box (for Bugzilla 3.0.3) and created a new mysql50 user that I want to use to run this instance with. I tried to start the instance on another port by running the following command... ./bin/mysqld_safe --defaults-file=/usr/local/mysql-5.0/my.cnf --socket=/tmp/mysql50/mysql.sock --port=3307 --basedir=/usr/local/mysql-5.0 --datadir=/usr/local/mysql-5.0/data --pid-file=/usr/local/mysql-5.0/mysql50.pid --user=mysql50 The instance appears to start but the message Starting the instance comes up and I never get back to the system prompt. it just sits there. If I open another terminal window and do a ps -ef | grep mysql, I can see the new processes running. There is nothing in the error log. I ran the mysql_install_db.sh script to create the mysql database however, I cannot log in. I thought that it creates a root user with no password. I tired logging in as root with no password bu no luck. If i use the mysql 4.0.20 root user password, I get into the 4.0.20 instance even though the mysql50 user does not have mysql 4.0.20 in it's path. when I run mysql at the prompt, how would I differentiate between the 2 instances? So at this point I am stuck. If anyone out can help guide me on what I need to do to ge tthe instance up and running properly, I would appreciate it. I am rather new to MySQL and I have read through the docs but things are still not very clear. Thanks! Mark -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Starting-a-2nd-MySQL-instance-on-UNIX-tp16834758p16941984.html Sent from the MySQL - General mailing list archive at Nabble.com. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Starting a 2nd MySQL instance on UNIX
Mark, When you try to log-in to the new instance, are you specifying the new port number to the client? If you don't give it the new port number, then it will connect to the default port, which is presumably your 4.0.20 instance. Mark-E wrote: I have a Solaris box where MySQL 4.0.20 instance is running (to support Bugzilla 2.22). I have loaded mysql5.0 on the same box (for Bugzilla 3.0.3) and created a new mysql50 user that I want to use to run this instance with. I tried to start the instance on another port by running the following command... ./bin/mysqld_safe --defaults-file=/usr/local/mysql-5.0/my.cnf --socket=/tmp/mysql50/mysql.sock --port=3307 --basedir=/usr/local/mysql-5.0 --datadir=/usr/local/mysql-5.0/data --pid-file=/usr/local/mysql-5.0/mysql50.pid --user=mysql50 The instance appears to start but the message Starting the instance comes up and I never get back to the system prompt. it just sits there. If I open another terminal window and do a ps -ef | grep mysql, I can see the new processes running. There is nothing in the error log. I ran the mysql_install_db.sh script to create the mysql database however, I cannot log in. I thought that it creates a root user with no password. I tired logging in as root with no password bu no luck. If i use the mysql 4.0.20 root user password, I get into the 4.0.20 instance even though the mysql50 user does not have mysql 4.0.20 in it's path. when I run mysql at the prompt, how would I differentiate between the 2 instances? So at this point I am stuck. If anyone out can help guide me on what I need to do to ge tthe instance up and running properly, I would appreciate it. I am rather new to MySQL and I have read through the docs but things are still not very clear. Thanks! Mark -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]