mysql源码安装
 一、环境准备:
 系统环境     rhet6.5
 实验环境     iptables和selinux为disabled

 二、所需的源码包:
   mysql-5.6.12.tar.gz

 三、准备工作(以下Linux命令均在su到root用户操作):
 1、新增mysql用户组
 groupadd mysql
 2、新增mysql用户
 useradd -r -g mysql mysql
 3、新建数据库执行文件目录(mysql程序安装目录)
 mkdir -p /usr/local/mysql
 4、新建数据库数据文件目录
 mkdir -p /home/mysql
 mkdir -p /home/mysql/data
 mkdir -p /home/mysql/logs
 mkdir -p /home/mysql/temp
 注意:上面的第3及第4是为了以后将MySQL的数据文件与执行程序文件分离,如果你打算设置到不同的路径,注意修改对应的执行命令和数据库初始化脚本!
 5、编辑PATH搜索路径
 vi /etc/profile +
 在profile文件末尾增加两行
 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
 export PATH
 使PATH搜索路径立即生效:
 source /etc/profile
 6、安装编译源码所需的工具和库(如果不能在线安装,需要提前配置好本地源,本地源配置方法度娘吧,以后有时间)
 yum -y install  gcc-c++ ncurses-devel cmake make perl

 四、开始编译安装mysql-5.6.12
 1、解压缩源码包
 tar -zxvf mysql-5.6.12.tar.gz
 2、进入解压缩源码目录
 cd mysql-5.6.12
 3、使用cmake源码安装mysql(如果你打算安装到不同的路径,注意修改下面语句中/usr/local/mysql这个路径!)
 ```
 cmake \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DWITH_MEMORY_STORAGE_ENGINE=1 \
 -DWITH_READLINE=1 \
 -DENABLED_LOCAL_INFILE=1 \
 -DMYSQL_DATADIR=/home/mysql/data \
 -DMYSQL_USER=mysql \
 -DMYSQL_TCP_PORT=3306    \
 -DENABLE_DOWNLOADS=1
 ```
 4、cmake结束后开始编译源码,。
  make
 5、安装编译好的程序
 make install
 注意:如果需要重装mysql,在/usr/local/src/mysql-5.6.12在执行下make install就可以了,不需要再cmake和make

 6、修改目录拥有者
 chown -Rf mysql:mysql /usr/local/mysql
 chown -Rf mysql:mysql /home/mysql

 7、进入mysql执行程序的安装路径
 cd /usr/local/mysql

 8、执行初始化配置脚本,创建系统自带的数据库和表(/usr/local/mysql路径)
 scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data
 初始化脚本在/usr/local/mysql/下生成了配置文件my.cnf,需要更改该配置文件的所有者:
  chown -Rf mysql:mysql /usr/local/mysql

 注意:
 (1)Tips:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索mysql程序目录下是否有my.cnf";
 (2)需要注意CentOS 6.4版操作系统的最小安装完成后,即使没有安装mysql,在/etc目录下也会存在一个my.cnf文件,建议将此文件更名为其他的名字,否则该文件会干扰源码安装的MySQL的正确配置,造成无法启动。修改/etc/my.cnf操作如下:

 mv /etc/my.cnf /etc/my.cnf.bak
 当然也可以删除掉/etc/my.cnf这个文件:
 rm /etc/my.cnf
 9、复制服务启动脚本
 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

 10、启动MySQL服务
 service mysql start

 11、设置开机自动启动服务
 chkconfig mysql on

 12、登录并修改MySQL用户root的密码
 mysql -u root
 mysql> use mysql;
 mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
 mysql> update user set Password = password('123456') where User='root';
 mysql> flush privileges;
 mysql> exit;

 13、检测下上一步MySQL用户root密码是否生效:
 ```
 [root@server2 mysql]# mysql -u root
 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)没有密码无法登录,说明密码修改成功了。
 [root@server2 mysql]# mysql -u root -p
 Enter password: ——这里提示时输入你设置的mysql root帐号密码
 #登录成功有如下提示:
 mysql>showdatabases;
 ```

 14、安全初始化:
 [root@yimiju ~]# /usr/local/mysql/bin/mysql_secure_installation

 Enter current password for root (enter for none):输入密码
 OK, successfully used password, moving on...
 Change the root password? [Y/n] n        ---------------这里输入n
  ... skipping.
 Remove anonymous users? [Y/n] Y            ---------------这里输入Y
  ... Success!

 Disallow root login remotely? [Y/n] n            ---------------这里输入n
  ... skipping.

 Remove test database and access to it? [Y/n] Y            ---------------这里输入Y

 Reload privilege tables now? [Y/n] Y            ---------------这里输入Y
  ... Success!
  ```

 17、重启服务器,检测mysql是否能开机自动启动

 [root@yimiju ~]# reboot