#camke
#定制功能:存储引擎、字符集、压缩
#定制安装位置、数据存放位置、文件位置(socket)
#克隆一个模板机(使用CentOS6),克隆完做快照
#IP 10.0.0.52 主机名db02
#下载5.6.36包
[root@db02 ~]# wget -q http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz
#安装epel源
[root@db02 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
#安装依赖包
[root@db02 ~]# yum install -y ncurses-devel libaio-devel
#安装cmake
[root@db02 ~]# yum install -y cmake
#创建用户
[root@db02 ~]# useradd mysql -s /sbin/nologin -M
#修改hosts
[root@db02 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.52 db02
#解压MySQL源码包
[root@db02 tools]# tar xf mysql-5.6.36.tar.gz
#进入MySQL目录
[root@db02 tools]# cd mysql-5.6.36
#生成
[root@db02 mysql-5.6.36]#
#程序存放位置
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 #编译
具体编译内容为下
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
[root@db02 mysql-5.6.36]# make
#安装
[root@db02 mysql-5.6.36]# make install
#做软链接
[root@db02 mysql-5.6.36]# ln -s /application/mysql-5.6.38/ /application/mysql
#拷贝配置文件
[root@db02 mysql-5.6.36]# cp support-files/my*.cnf /etc/my.cnf
#拷贝mysql启动脚本
[root@db02 mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld
#进入MySQL初始化脚本目录
[root@db02 mysql-5.6.36]# cd /application/mysql/scripts/
#初始化MySQL
[root@db02 mysql-5.6.36]#
./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql
#授权
[root@db02 mysql-5.6.36]# chown -R mysql.mysql /application/mysql/
#给启动脚本授权700
[root@db02 mysql-5.6.36]# chmod 700 /etc/init.d/mysqld
#设置开机自启动
[root@db02 mysql-5.6.36]# chkconfig mysqld on
#启动MySQL
[root@db02 mysql-5.6.36]# /etc/init.d/mysqld start
#创建tmp目录(5.6.36版本不会自动创建tmp目录)
[root@db02 mysql-5.6.36]# mkdir /application/mysql-5.6.36/tmp
#添加环境变量
[root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
#个人推荐
[root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh
[root@db02 ~]# source /etc/profile.d/mysql.sh
#设置MySQL密码
[root@db02 ~]# mysqladmin -uroot password ‘oldboy123’
#MySQL登陆
[root@db02 ~]# mysql -uuser -ppassword -Ssocket -hhost
#MySQL基本操作及基本优化
#查看库
mysql> show databases;
#删库
mysql> drop database test;
#使用库
mysql> use mysql
#查看表
mysql> show tables;
#查看当前所在库
mysql> select database();
#查看mysql用户
mysql> select user,host from user;
mysql> select user,host,password from user;
#删除用户
mysql> select user,host from user;
mysql> drop user ''@'db02';
mysql> drop user root@db02;
mysql> drop user root@'::1';
mysql> drop user root@'127.0.0.1';