闲来有空,整理下Linux下Mysql的几种安装方式,分别使用yum/rpm、常规方式编译安装、cmake方式编译安装以及使用二进制方式免编译安装MySQL


Linux系统环境:

CentOS release 6.5 (Final) x86_64

MySQL版本:5.5.45

安装前关闭了iptables、selinux为disabled

预安装以下包:

yum groupinstall "debugging Tools" "Dial-up Networking Support" -y

yum groupinstall "Compatibility libraries" "Base" "Development tools" -y

yum install tree nmap sysstat lrzsz dos2unix -y  (一些常用的工具包)

yum install ncurses-devel -y


一.yum方式安装

二.rpm方式安装

三.常规方式编译安装

四.cmake方式编译安装

下载cmake包和mysql源码包

[root@mysql ~] wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz

[root@mysql ~] wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.45.tar.gz

添加mysql用户以及组

[root@mysql soft]# groupadd mysql

[root@mysql soft]# useradd mysql -s /sbin/nologin -M -g mysql

[root@mysql soft]# tar -zxvf cmake-2.8.8.tar.gz 

[root@mysql soft]# cd cmake-2.8.8

[root@mysql cmake-2.8.8]# ./configure 

[root@mysql cmake-2.8.8]# gmake

查看是否成功

[root@mysql cmake-2.8.8]# echo $?

0

[root@mysql cmake-2.8.8]# gmake install

[root@mysql cmake-2.8.8]# echo $?

0

[root@mysql cmake-2.8.8]# cd ..

[root@mysql soft]# cd mysql-5.5.45

[root@mysql ~]# mkdir /app

[root@mysql soft]# tar -zxvf mysql-5.5.45.tar.gz 

[root@mysql soft]# cd mysql-5.5.45

cmake编译,详细参数见xxx

[root@mysql mysql-5.5.45]# cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.5.45 \

-DMYSQL_DATADIR=/app/mysql-5.5.45/data \

-DMYSQL_UNIX_ADDR=/app/mysql-5.5.45/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEFAULT_CHARSET=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 \

-SWITH_DEBUG=0

[root@mysql mysql-5.5.45]# echo $?

0

[root@mysql mysql-5.5.45]# make && make install

[root@mysql mysql-5.5.45]# echo $?

0

创建软连接

[root@mysql mysql-5.5.45]# ln -s /app/mysql-5.5.45/ /app/mysql

拷贝配置文件到/etc下

[root@mysql mysql-5.5.45]# cp support-files/my-small.cnf /etc/my.cnf

添加环境变量到/etc/profile

[root@mysql mysql-5.5.45]# echo 'export PATH=/app/mysql-5.5.45/bin:$PATH' >> /etc/profile

[root@mysql mysql-5.5.45]# source /etc/profile

[root@mysql mysql-5.5.45]# echo $PATH

修改数据目录属属组

[root@mysql mysql-5.5.45]# chown -R mysql.mysql /app/mysql/data/

[root@mysql mysql-5.5.45]# chmod -R 1777 /tmp/

初始化数据库,数据库的初始化就是生产mysql的一些基本表,类似oracle的基表...

[root@mysql mysql-5.5.45]# cd /app/mysql/scripts/

[root@mysql scripts]# ./mysql_install_db --basedir=/app/mysql/ --datadir=/app/mysql/data/ --user=mysql

拷贝启动文件到init.d下,并且添加可执行权限

[root@mysql ~]# cd /soft/mysql-5.5.45/support-files

[root@mysql support-files]# cp mysql.server /etc/init.d/mysqld

[root@mysql support-files]# chmod +x /etc/init.d/mysqld

启动数据库

[root@mysql ~]# /etc/init.d/mysqld start

Starting MySQL... SUCCESS! 

[root@mysql ~]# netstat -lntup |grep 3306

给数据库添加密码并验证

[root@mysql ~]# /app/mysql//bin/mysqladmin -u root password 'rootroot'

[root@mysql ~]# mysql -uroot -prootroot


mysql> show databases ;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+


五.二进制方式免编译安装


未完待续...