linux  环境下编译安装mysql ,多个mysql实例

 

本实例中使用的mysql版本是 5.6.20 


安装make编译工具


yum -y install make gcc-c++ cmake bison-devel  ncurses-devel


解压 

[root@localhost software]#  gzip -d  mysql-5.6.20.tar.gz 

[root@localhost software]#  tar -xvf  mysql-5.6.20.tar 

[root@localhost software]# ll

drwxr-xr-x 35 7161 wheel      4096 Aug  7 16:33 mysql-5.6.20

[root@localhost software]#  cd   mysql-5.6.20

[root@localhost mysql-5.6.20]# 


编译安装:

cmake \

-DCMAKE_INSTALL_PREFIX=/home/mysql \

-DMYSQL_DATADIR=/home/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/home/mysql/data/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci


该命令需要执行一段时间 ,执行完之后 执行一下命令:

make && make install


使用下面的命令查看是否有mysql用户及用户组

cat /etc/passwd 查看用户列表

cat /etc/group  查看用户组列表


如果没有就创建

groupadd mysql

useradd -g mysql mysql


chown -R mysql:mysql /home/mysql


进入安装路径

cd /home/mysql


进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

scripts/mysql_install_db --basedir=/home/mysql --datadir=/home/mysql/data --user=mysql


添加服务,拷贝服务脚本到init.d目录,并设置开机启动

cp support-files/mysql.server /etc/init.d/mysql

chkconfig mysql on

service mysql start  --启动MySQL



设置之前,我们需要先设置PATH,要不不能直接调用mysql

修改/etc/profile文件,在文件末尾添加

PATH=/home/mysql/bin:$PATH


export PATH关闭文件,运行下面的命令,让配置立即生效

source /etc/profile



问题一:mysql 无法启动?

系统中有旧版本的mysql ,卸载旧版本mysql就行了 、

rpm -qa | grep mysql

rpm -e mysql   //普通删除模式

rpm -e --nodeps mysql    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

也有可能是安装目录或是数据目录的权限不对。



问题二:如何安装多个mysql实例?

此种方法属于编译安装mysql ,可以安装多个不同的mysql实例,需要注意的是

mysql的安装目录,数据目录,sock目录还有端口 ,需要重新指定下。

 

问题三:多个实例中如何配置my.cnf文件。

mysql服务会按照一定顺序搜索my.cnf ,

首先在安装目录下搜索(/home/mysql),如果没有找到my.cnf就在/etc下搜索,

在多个mysql实例中,在各个实例的安装目录下配置各自的my.cnf即可。



参考链接:

 http://www.cnblogs.com/xiongpq/p/3384681.html