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