数据库的编译安装

MySQL编译安装

camke
定制功能:存储引擎、字符集、压缩
定制安装位置、数据存放位置、文件位置(socket)

使用CentOS6 -- IP 10.0.0.52 主机名db02
1.下载5.6.36包(这里本文使用的是5.6.36,比较稳定一点)

wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

2.修改epel源

 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

3.安装依赖包

yum install -y ncurses-devel libaio-devel

4.安装cmake

yum install -y cmake

5.创建mysql系统用户

useradd mysql -s /sbin/nologin -M

6.修改hosts解析 --(可以选择不做解析,本文选择做解析)

 vim /etc/hosts
 10.0.0.52     db02

7.解压压缩包

tar xf mysql-5.6.38.tar.gz

8.进入mysql目录并生成cmake

cd mysql-5.6.38
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

解释:
#程序存放位置
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
#数据存放位置
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \
#socket文件存放位置
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \
#使用utf8字符集
-DDEFAULT_CHARSET=utf8 \
#校验规则
-DDEFAULT_COLLATION=utf8_general_ci \
#使用其他额外的字符集
-DWITH_EXTRA_CHARSETS=all \
#支持的存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#禁用的存储引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
#启用zlib库支持(zib、gzib相关)
-DWITH_ZLIB=bundled \
#启用SSL库支持(安全套接层)
-DWITH_SSL=bundled \
#启用本地数据导入支持
-DENABLED_LOCAL_INFILE=1 \
#编译嵌入式服务器支持
-DWITH_EMBEDDED_SERVER=1 \
#mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-DENABLE_DOWNLOADS=1 \
#禁用debug(默认为禁用)
-DWITH_DEBUG=0


9.编译安装

make && make install

10.做个软链接并进入目录(support-files)

ln -s /application/mysql-5.6.38/ /application/mysql
 cd /application/mysql/support-files
  1. 拷贝脚本文件到系统启动脚本下
    cp mysql.server /etc/init.d/mysqld

    12.移动并拷贝配置文件

    mv /etc/my.cnf /tmp/
    cp my-default.cnf /etc/my.cnf

    ps:
    在第一次启动mysql的时候会报错,原因是mysql中没有socket目录
    解决方法:(5.6.36版本不会自动创建tmp目录)
    创建这个目录:
    mkdir /application/mysql-5.6.38/tmp

数据库的编译安装

13.授权

chown -R mysql.mysql /application/mysql-5.6.38/
chown -R mysql.mysql /etc/init.d/mysqld
chown -R mysql.mysql /application/mysql

14.初始化mysql

./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

15.再次重新启动mysql

/etc/init.d/mysqld start

16.添加环境变量

cd /etc/profile.d          在/etc/prifled下添加变量可以防止手残
vim mysql.sh
export PATH="/application/mysql/bin:$PATH"
source /etc/profile.d/mysql.sh

17.添加mysql密码

 mysqladmin -uroot password '123456'

18.登录mysql

mysql -uroot -p123456

至此MySQL编译安装完成,效果如下:
数据库的编译安装

猜你喜欢

转载自blog.51cto.com/13729984/2173544