编译工具:
configure
cmake
make
常用配置选项:
常用的选项有下边这些:
cmake
-DCMAKE_INSTALL_PREFIX=/path/to --指定安装路径(默认是/usr/local/mysql)
-DMYSQL_DATADIR=/path/to --mysql数据文件路径
-DSYSCONFDIR=/etc --配置文件路径
-DWITH_INNOBASE_STORAGE_ENGINE=1 --安装innodb存储引擎
-DWITH_MYISAM_STORAGE_ENGINE=1 --安装myisam存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 --安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 --安装blackhole存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 --安装数据库分区
-DWITH_READLINE=1 #支持批量导入mysql数据
-DWITH_SSL=system #支持 SSL ;DWITH_SSL=yes
-DWITH_ZLIB=system #
-DMYSQL_TCP_PORT=3306 #MySQL 监听端口
-DENABLED_LOCAL_INFILE=1 #允许从本地导入数据
-DMYSQL_USER=mysql #指定mysql运行用户
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock #默认套接字文件路径
-DEXTRA_CHARSETS=all #安装所有扩展字符集
-DDEFAULT_CHARSET=utf8 #使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci #校验字符
-DWITH_DEBUG=0 #DEBUG功能设置
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=yes \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DMYSQL_TCP_PORT=3306 \
Linux软件编译安装都需要依赖两个安装包 gcc gcc-c++ make 可使用 yum -y install gcc gcc-c++ make 在线安装。
1、 检查本机是否有安装mysql数据库。
rpm -qa | grep -i mysql
2、卸载系统自带的mysql数据库。(卸载之前需要先把mysql数据库停止)
/etc/init.d/mysqld stop
/etc/init.d/mysqld status
rpm -qa | grep -i mysql
rpm -ev xxxx --nodeps
3、查看是否有残留mysql目录或文件。
whereis mysql
find / -name mysql
4、在线yum安装编译所需要的工具和库。
yum -y install gcc gcc-c++ ncurses-devel perl
5、检查安装编译所需要的工具和库是否已经安装完成。
rpm -qa | grep gcc
rpm -qa | grep gcc-c++
rpm -qa | grep per
rpm -qa | grep ncurses-devel
6、编译安装mysql前需要先创建mysql用户和组,创建mysql安装目录及存放目录。
创建mysql用户组
groupadd mysql
创建mysql用户并加入到mysql组不允许mysql登录系统
useradd -g mysql mysql -s /bin/false
创建mysql数据库存放目录
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql/
传教mysql安装目录
mkdir -p /usr/local/mysql
7、一般CentOS系统都没有自带安装cmake编译工具,yum也不一定能安装cmake编译工具,所以,本测试机下载cmake源码编译工具和mysql源码安装包。(mysql 5.5以上版本(包含mysql 5.5版本)都需要使用cmake工具进行编译,不能使用./configure编译)
Cmake官网下载地址: https://cmake.org/download/
mysql源码安装包下载地址:
标注:mysql 5.7以上版本(包含 mysql 5.7版本)在使用cmake进行编译时会提示错误需要boost软件包支持。
官网下载地址:https://dev.mysql.com/downloads/mysql/
其它下载地址:http://mirrors.sohu.com/mysql/ (本测试机使用的这个下载地址,下载mysql-5.5.53.tar.gz安装包)
8、把下载好的cmake-3.7.2.tar.gz 和 mysql-5.5.53.tar.gz 安装包上传到CentOS 6.5创建的文件夹 /home/mysql 进行解压。(解压命令 tar –zxvf cmake-3.7.2.tar.gz)
9、编译安装cmake编译工具。(先执行./configure检查配置,再执行make编译,最后执行make install 安装)
cd /home/mysql/cmake-3.7.2
./configure
make
make install
10、编译安装mysql软件包。(先执行 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc 再执行 make 最后执行 make install )
cd /home/mysql/mysql-5.5.53
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc
make
make install
11、生成 mysql系统数据库,添加my.cnf配置文件软连接。
删除系统默认mysql配置文件my.cnf,如果没有就不用操作
rm /etc/my.cnf
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
12、mysql添加系统开机自动启动功能。
13、把mysql服务添加系统环境变量。
echo ‘export PATH=$PATH:/usr/local/mysql/bin’ >> /etc/profile
14、启动mysql服务。
/etc/init.d/mysqld start
/etc/init.d/mysqld status
15、输入mysql –uroot -p 登录测试成功。
mysql -u root -p
特殊操作:
#把mysql库文件链接到系统默认位置,以后类似PHP等软件就可以不指定mysql的库文件地址。
[root@ssticentos65 mysql]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[root@ssticentos65 mysql]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
#创建mysql启动文件 mysql.sock 软链接。(mysql.sock作用是例如你无须定义连接host的具体IP地址,只要为空或localhost就可以,如果文件被删除掉就使用localhost用户连接不到mysql服务器。)
[root@ssticentos65 mysql]# mkdir /var/lib/mysql
[root@ssticentos65 mysql]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock