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
- 拷贝脚本文件到系统启动脚本下
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编译安装完成,效果如下:
原文地址:http://blog.51cto.com/13729984/2173544
时间: 2024-10-12 09:00:35