天天看点

Linux 同一系统安装两个MySQL

MYSQL版本:MYSQL-5.5.37

操作系统:Ubuntu 12.04.5 LTS \n \l

安装步骤:

<code>第一个MYSQL安装路径/usr/local/mysql 监听3306端口</code>

<code>启动文件/etc/init.d/mysql</code>

<code>第二个MYSQL安装路径/data/mysql 监听3307端口</code>

<code>启动文件/etc/init.d/mysql2</code>

1、安装第一个MYSQL在/usr/local/mysql

<code>Setup 1:</code>

<code>#wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz</code>

<code>#tar -zxvf cmake-2.8.12.2.tar.gz</code>

<code>#cd cmake-2.8.12.2</code>

<code>#./bootstrap</code>

<code>#./configure</code>

<code>#make &amp;&amp; make install</code>

<code> </code> 

<code>系统如果是CENTOS,刚要安装另一个组件</code>

<code>#wget http://invisible-island.net/datafiles/release/ncurses.tar.gz</code>

<code>Setup 2:</code>

<code>安装MYSQL 5.5.37</code>

<code>#wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.37.tar.gz</code>

<code>tar</code> <code>-zxvf mysql-5.5.37.</code><code>tar</code><code>.gz</code>

<code>#cd mysql-5.5.37</code>

<code>#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system</code>

<code>慢长的等待过后终于完成了</code>

<code>#groupadd mysql</code>

<code>#useradd -g mysql mysql</code>

<code>#cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf</code>

<code>#vim /etc/my.cnf #需要加入basedir,和datadir否则会出问题</code>

<code>[mysqld]</code>

<code>basedir =</code><code>/usr/local/mysql</code>

<code>datadir =</code><code>/usr/local/mysql/data</code>

<code>#/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &amp;</code>

<code>#chown -R mysql /usr/local/mysql/data</code>

<code>#chgrp -R mysql /usr/local/mysql/.</code>

<code>#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql</code>

<code>#chmod 755 /etc/init.d/mysql</code>

<code>#chkconfig --level 345 mysql on</code>

<code>#echo “/usr/local/mysql/lib/mysql” &gt;&gt; /etc/ld.so.conf</code>

<code>#echo “/usr/local/lib” &gt;&gt;/etc/ld.so.conf</code>

<code>#ldconfig</code>

<code>#/etc/init.d/mysql start</code>

<code>#/usr/local/mysql/bin/mysqladmin -u root password broadengate</code>

<code>Empire CMS,phome.net</code>

<code>#/etc/init.d/mysql restart</code>

<code>#/etc/init.d/mysql stop</code>

<code>OK终于完成~</code>

2、安装第二个:(基本和第一个一样,注意路径和权限)

<code>#tar -zxvf mysql-5.5.37.tar.gz</code>

<code>#cmake -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_DATADIR=/data/mysql/data -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock -DMYSQL_TCP_PORT=3307 -DWITH_DEBUG=0 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1</code>

<code>#cp /data/mysql/support-files/my-medium.cnf /data/mysql/my.cnf</code>

<code>  </code> 

<code>#vim /data/mysql/my.cnf #需要加入basedir,和datadir否则会出问题</code>

<code>basedir =</code><code>/data/mysql</code>

<code>datadir =</code><code>/data/mysql/data</code>

<code>#/data/mysql/scripts/mysql_install_db --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data &amp;</code>

<code>#chown -R mysql /data/mysql/data</code>

<code>#chgrp -R mysql /data/mysql/.</code>

<code>#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql2</code>

<code>#chmod 755 /etc/init.d/mysql2</code>

好了,下面才是重点

<code>#vi /etc/init.d/mysql2</code>

<code>1)找到以下文件进行添加</code>

<code>basedir=</code><code>/data/mysql</code>

<code>datadir=</code><code>/data/mysql/data</code>

<code>conf=</code><code>/data/mysql/my</code><code>.cnf</code>

<code>2)修改以下参数</code>

<code>把$bindir</code><code>/mysqld_safe</code> <code>--datadir=$datadir --pid-</code><code>file</code><code>=$server_pid_file $other_args &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1&amp;替换为:</code>

<code>$bindir</code><code>/mysqld_safe</code> <code>--defaults-</code><code>file</code><code>=</code><code>/data/mysql/my</code><code>.cnf --datadir=$datadir --pid-</code><code>file</code><code>=$server_pid_file $other_args &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1 &amp;</code>

<code>3)把下面这句注释掉(前面加个</code><code>#):</code>

<code>parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`</code>

<code>4).保存退出并添加服务:</code>

<code>chkconfig --add </code><code>/etc/init</code><code>.d</code><code>/mysql2</code>

分别启动两个MYSQL

<code># /etc/init.d/mysql start</code>

<code># /etc/init.d/mysql2 start</code>

查看下进程

<code>user@ubuntu:</code><code>/usr/local/mysql</code><code>$ </code><code>ps</code> <code>-ef|</code><code>grep</code> <code>mysql</code>

<code>root     23328     1  0 Apr17 ?        00:00:00 </code><code>/bin/sh</code> <code>/usr/local/mysql/bin/mysqld_safe</code> <code>--datadir=</code><code>/usr/local/mysql/data</code> <code>--pid-</code><code>file</code><code>=</code><code>/usr/local/mysql/data/ubuntu</code><code>.pid</code>

<code>mysql    23616 23328  0 Apr17 ?        00:00:54 </code><code>/usr/local/mysql/bin/mysqld</code> <code>--basedir=</code><code>/usr/local/mysql</code> <code>--datadir=</code><code>/usr/local/mysql/data</code> <code>--plugin-</code><code>dir</code><code>=</code><code>/usr/local/mysql/lib/plugin</code> <code>--user=mysql --log-error=</code><code>/usr/local/mysql/data/ubuntu</code><code>.err --pid-</code><code>file</code><code>=</code><code>/usr/local/mysql/data/ubuntu</code><code>.pid --socket=</code><code>/tmp/mysql</code><code>.sock --port=3306</code>

<code>root     23777     1  0 Apr17 ?        00:00:00 </code><code>/bin/sh</code> <code>mysql</code><code>/bin/mysqld_safe</code> <code>--defaults-</code><code>file</code><code>=</code><code>/data/my</code><code>.cnf --user=mysql</code>

<code>mysql    24915 23777  0 Apr18 ?        00:00:38 </code><code>/data/mysql/bin/mysqld</code> <code>--defaults-</code><code>file</code><code>=</code><code>/data/my</code><code>.cnf --basedir=</code><code>/data/mysql</code> <code>--datadir=</code><code>/data/mysql/data</code> <code>--plugin-</code><code>dir</code><code>=</code><code>/data/mysql/lib/plugin</code> <code>--user=mysql --log-error=</code><code>/data/mysql/data/ubuntu</code><code>.err --pid-</code><code>file</code><code>=</code><code>/data/mysql/data/ubuntu</code><code>.pid --socket=</code><code>/data/mysql/mysqld</code><code>.</code>

查看端口

<code>user@ubuntu:</code><code>/usr/local/mysql</code><code>$ </code><code>netstat</code> <code>-nalp|</code><code>grep</code> <code>'3306'</code>

<code>(No info could be </code><code>read</code> <code>for</code> <code>"-p"</code><code>: geteuid()=1000 but you should be root.)</code>

<code>tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -              </code>

<code>tcp        0      0 192.168.1.119:3306      192.168.1.150:41410     ESTABLISHED -              </code>

<code>user@ubuntu:</code><code>/usr/local/mysql</code><code>$ </code><code>netstat</code> <code>-nalp|</code><code>grep</code> <code>'3307'</code>

<code>tcp        0      0 0.0.0.0:3307            0.0.0.0:*               LISTEN</code>

可以看出两个MYSQL正常运行

登陆

所不同的是,我们在第二个MYSQL登陆时要加上sock可以进入,否则默认是第一个数据库

<code>mysql -uroot -p --socket=</code><code>/data/mysql/mysql</code><code>.sock</code>

本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1663165

继续阅读