编译安装 MySQL-5.5.32

操作前(需关闭防火墙,关闭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.使加入的环境变量立即生效
[root@JH-1 mysql-5.5.32]# source /etc/profile

7.初始化mysql
[root@JH-1 mysql]# cd /application/mysql/scripts/
[root@JH-1 scripts]# ./mysql_install_db --basedir=/application/mysql-5.5.32/ --datadir=/application/mysql-5.5.32/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