编译安装MySQL数据库
1. 安cmake工具
# yum install -y cmake
2. 创建mysql用户
# useradd -M -s /sbin/nologin mysql
3. 创建数据目录
# mkdir -p /mysql/data
# chown -R mysql.mysql /mysql/
4.解压mysql源码包
# tar xvf mysql-7,5.tar.gz
# cd mysql-7.5
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #Installation base directory
-DMYSQL_DATADIR=/mysql/data \ #Data directory
-DDEFAULT_CHARSET=utf8 \ #The default server character set
-DEXTRA_CHARSETS=all \ #Which extra character sets to include
-DDEFAULT_COLLATION=utf8_general_ci \ #The default server collation
-DWITH_SSL=system \ #Type of SSL support
-DWITH_EMBEDDED_SERVER=1 \ #Whether to build embedded server
-DENABLED_LOCAL_INFILE=1 \ #Whether to enable LOCAL for LOAD DATA INFILE
注:当执行完以上命令后提示有 -- Configuring done -- Generating done 即为编译安装成功
cmake命令执行后报错及解决问题如下:
1.CMakeCache.txt 记录出错信息的文件,要删除后再安装。(每次出错后都要删除此文件猜能继续进行预编译)
2.CMake Error:CMAKE_C_COMPILER not set,after EnableLanguage 安装gcc*
3.remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu,package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. 安装ncurses-devel
4.CMake Error : The following variables are used in this project,but they are set to NOTFOUND.please set them or make sure they are set and tested correctly in the CMake files: OPENSSL_INCLUDE_DIR 安装openssl-devel
# make -j (-j指定cpu的核数,默认为单个) && make install
5.初始化
注:清空/etc/my.cnf 多余的内容,留下一下内容
【mysqld】
datadir=/mysql/data/
socket=/tmp/mysql.sock
然后保存退出执行以下初始化命令
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mysql/data/ --basedir=/usr/local/mysql
6.启动和关闭服务
# /usr/local/mysql/bin/mysqld_safe --user=mysql & //启动
# # /usr/local/mysql/bin/mysqladmin shutdown //关闭
7.登入数据库
# /usr/local/mysql/bin/mysql
为以后的方便操作,可把该命令定义成系统命令
# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
# . /etc/profile.d/mysql.sh