操作前(需关闭防火墙,关闭SELINUX)
1.准备 mysql-5.5.32.tar.gz
2.查看依赖包是否安装。
[root@JH-1 tools]# rpm -qa | grep ncurses-devel libaio-devel cmake
3.yum安装依赖包(在依赖包查看不存在时操作)
[root@JH-1 tools]# yum -y install ncurses-devel libaio-devel cmake
4.创建用户
[root@JH-1 tools]# groupadd mysql
[root@JH-1 tools]# useradd mysql -s /sbin/nologin -M -g mysql
5.解压mysql源码包,并进入其解压后的文件夹。
[root@JH-1 tools]# tar -zxvf mysql-5.5.32.tar.gz
[root@JH-1 tools]# cd mysql-5.5.32/
6.解压编译MySQL(整个时间可能过长)
[root@JH-1 tools]# cd /tools/mysql-5.5.32
[root@JH-1 mysql-5.5.32]#
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
-DMYSQL_DATADIR=/application/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
[root@JH-1 mysql-5.5.32]# make && make install
[root@JH-1 mysql-5.5.32]# ln -s /application/mysql-5.5.32 /application/mysql
[root@JH-1 mysql-5.5.32]# cd /tools/mysql-5.5.32
[root@JH-1 mysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf
[root@JH-1 mysql-5.5.32]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@JH-1 mysql-5.5.32]# chown -R mysql.mysql /application/mysql
[root@JH-1 mysql-5.5.32]# chmod +X /etc/init.d/mysqld
5.加入环境变量
[root@JH-1 mysql-5.5.32]# export PATH="/application/mysql/bin:$PATH" >>/etc/profile (方便以后用相对路径启动服务)
6.初始化mysql
[root@JH-1 mysql]# cd /application/mysql/scripts/
[root@JH-1 scripts]# ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
[root@JH-1 scripts]# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!
[root@JH-1 scripts]# mysql
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql>
原文:https://www.cnblogs.com/jiang-bokeyuan/p/11740926.html