Linux 安装两个mysql服务

CentOS 6.4 下通过 yum 安装的 MySQL 是 5.1 版的,比较老,所以就想通过源代码安装高版本的 5.6.14。 
一、卸载旧版本 
Java代码   收藏代码
  1. rpm -qa | grep mysql  
  伦理片   http://www.dotdy.com/
有的话通过下面的命令来卸载掉 
Java代码   收藏代码
  1. rpm -e mysql //普通删除模式  
  2. rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其  
  3. 它文件,则用该命令可以对其进行强力删除  


二、安装mysql 
需要使用到源码安装包,这里我选择5.6版本,首先需要安装编译需要的包 
Java代码   收藏代码
  1. yum -y install make gcc-c++ cmake bison-devel ncurses-devel  

下载mysql数据库 
Java代码   收藏代码
  1. wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz  
  2. tar xvf mysql-5.6.14.tar.gz  
  3. cd mysql-5.6.14  

编译安装 
Java代码   收藏代码
  1. cmake \  
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  
  3. -DMYSQL_DATADIR=/usr/local/mysql/data \  
  4. -DSYSCONFDIR=/etc \  
  5. -DWITH_MYISAM_STORAGE_ENGINE=1 \  
  6. -DWITH_INNOBASE_STORAGE_ENGINE=1 \  
  7. -DWITH_MEMORY_STORAGE_ENGINE=1 \  
  8. -DWITH_READLINE=1 \  
  9. -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \  
  10. -DMYSQL_TCP_PORT=3306 \  
  11. -DENABLED_LOCAL_INFILE=1 \  
  12. -DWITH_PARTITION_STORAGE_ENGINE=1 \  
  13. -DEXTRA_CHARSETS=all \  
  14. -DDEFAULT_CHARSET=utf8 \  
  15. -DDEFAULT_COLLATION=utf8_general_ci  
  16. make && make install  


整个过程需要30分钟左右,请耐心等待 
三、设置mysql配置 
使用下面的命令查看是否有 mysql 用户及用户组 
Java代码   收藏代码
  1. cat /etc/passwd 查看用户列表  
  2. cat /etc/group 查看用户组列表  

如果没有就创建 
Java代码   收藏代码
  1. groupadd mysql  
  2. useradd -g mysql mysql  

修改/usr/local/mysql 权限 
Java代码   收藏代码
  1. chown -R mysql:mysql /usr/local/mysql  

然后进入安装mysql的路径 
Java代码   收藏代码
  1. cd /usr/local/mysql  


  执行初始化脚本,创建系统自带的数据库和表 
Java代码   收藏代码
  1. scripts/mysql_install_db --basedir=/usr/local/mysql3307 --datadir=/usr/local/mysql3307/data --user=mysql3307  

四、启动mysql服务 
   添加服务,拷贝服务脚本到 init.d 目录,并设置开机启动 
Java代码   收藏代码
  1. cp support-files/mysql.server /etc/init.d/mysql  
  2. chkconfig mysql on  
  3. service mysql start --启动 MySQL  


   配置用户信息 
   MySQL 启动成功后,root 默认没有密码,我们需要设置 root 密码。 
   设置之前,我们需要先设置 PATH,要不不能直接调用 mysql 
   修改/etc/profile 文件,在文件末尾添加 
Java代码   收藏代码
  1. PATH=/usr/local/mysql/bin:$PATH  
  2. export PATH  

   关闭文件,运行下面的命令,让配置立即生效 
Java代码   收藏代码
  1. source /etc/profile  

   现在,我们可以在终端内直接输入 mysql 进入,mysql 的环境了 
    执行下面的命令修改 root 密码 
Java代码   收藏代码
  1. mysql -uroot  
  2. mysql> SET PASSWORD = PASSWORD('123456');  

    设置用户远程访问 
Java代码   收藏代码
  1. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY 'password'  
  2. WITH GRANT OPTION;  

    配置防火墙 
     防火墙的 3306 端口默认没有开启,若要远程访问,需要开启这个端口 
     打开/etc/sysconfig/iptables 
Java代码   收藏代码
  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  
  2. service iptables restart  

   安装数据库完成 


    接着我们安装第二个mysql服务,可以选择拷贝第一次安装的路径内容到第二个mysql文件夹中或者再次编译安装mysql服务,这次如果安装则路径为 
Java代码   收藏代码
  1. cmake \  
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql3307 \  
  3. -DMYSQL_DATADIR=/usr/local/mysql3307/data \  
  4. -DSYSCONFDIR=/etc \  
  5. -DWITH_MYISAM_STORAGE_ENGINE=1 \  
  6. -DWITH_INNOBASE_STORAGE_ENGINE=1 \  
  7. -DWITH_MEMORY_STORAGE_ENGINE=1 \  
  8. -DWITH_READLINE=1 \  
  9. -DMYSQL_UNIX_ADDR=/var/lib/mysql3307/mysql.sock \  
  10. -DMYSQL_TCP_PORT=3307 \  
  11. -DENABLED_LOCAL_INFILE=1 \  
  12. -DWITH_PARTITION_STORAGE_ENGINE=1 \  
  13. -DEXTRA_CHARSETS=all \  
  14. -DDEFAULT_CHARSET=utf8 \  
  15. -DDEFAULT_COLLATION=utf8_general_ci  
  16. make && make install  


我安装的是3307端口的数据库,则配置如上; 
Java代码   收藏代码
  1. groupadd mysql3307  
  2. useradd -g mysql3307 mysql3307  

给3307配置用户和用户组,可以不用,我这里使用这个是为了将mysql3307数据库加入服务中,启动方便 

需要对当前路径授权 
Java代码   收藏代码
  1. chown -R mysql:mysql /usr/local/mysql3307  
  2.   
  3. cd /usr/local/mysql3307  


然后对第二个数据进行执行脚本 
Java代码   收藏代码
  1. scripts/mysql_install_db --basedir=/usr/local/mysql3307 --datadir=/usr/local/mysql3307/data --user=mysql3307  


Java代码   收藏代码
  1. cp support-files/mysql.server /etc/init.d/mysql3307  
  2.   
  3. chkconfig mysql3307 on  

进入3307端口数据库 
Java代码   收藏代码
  1. srvice mysql3307 start  

如果出现Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql3307/data/wserver.pid) 
进入mysql 3306的数据库,复制里面的wserver.pid,然后改版里面的值即可。 

然后进入3307端口数据库配置mysql 
Java代码   收藏代码
  1. mysql -P3307 -uroot  

如果出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'问题,则是没有关联mysql3307的sock,则在mysql3307文件夹中的my.cnf 
Java代码   收藏代码
  1. vi my.cnf  


配置文件: 
Java代码   收藏代码
  1. basedir=/usr/local/mysql3307/   
  2. datadir=/usr/local/mysql3307/data   
  3. socket=/var/lib/mysql3307/mysql.sock  
  4. port=3307  
配置完成后然后重新启动数据库进入 
Java代码   收藏代码
  1. mysql -P3307 -uroot  

依然报错 
Java代码   收藏代码
  1. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/bin/mysql3307/mysql.sock'   

更换进入方式: 
Java代码   收藏代码
  1. mysql -uroot -p -S /var/lib/mysql3307/mysql.sock  

进入成功 
设置3307数据库密码 
Java代码   收藏代码
  1. SET PASSWORD = PASSWORD('123456');  

设置远程访问用户 
Java代码   收藏代码
  1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'test' WITH GRANT OPTION;  


成功!现在两个服务就按照成功了; 

你可能感兴趣的:(Linux 安装两个mysql服务)