1、安装依赖包

[root@node4 ~]# yum install -y gcc gcc-c++ libtool autoconf automake imake libxml2-devel expat-devel ncurses-devel cmake bison

2、创建mysql用户及用户组

[root@node4 ~]# groupadd mysql

[root@node4 ~]# useradd -r -g mysql mysql

3、创建安装目录,数据存储目录

[root@node4 ~]# mkdir -p /usr/local/mysql

[root@node4 ~]# mkdir -p /data/mysql/data/

4、修改目录所属用户和组为mysql

[root@node4 ~]# chown mysql.mysql -R /usr/local/mysql

[root@node4 ~]# chown mysql.mysql -R /data/mysql/

5、下载mysql5.16.17 并解压

[root@node4 ~]# wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz

[root@node4 ~]# tar zxvf mysql-5.6.17.tar.gz

6、编译安装

[root@node4 ~]# cd mysql-5.6.17

[root@node4 ~]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/data/mysql/data \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_USER=mysql

参数说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql                安装目录

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock                    指定mysql.sock路径

-DDEFAULT_CHARSET=utf8                                              指定默认的字符集为utf8

-DDEFAULT_COLLATION=utf8_general_ci                       设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk                扩展字符集支持(默认是all)

-DWITH_MYISAM_STORAGE_ENGINE=1                         启用Myisam引擎的支持

-DWITH_INNOBASE_STORAGE_ENGINE=1                     启用Innodb引擎的支持

-DWITH_MEMORY_STORAGE_ENGINE=1                       启用memory引擎的支持

-DWITH_READLINE=1                                                        启用readline库支持(提供可编辑的命令行)

-DENABLED_LOCAL_INFILE=1                                          启用本地数据导入支持

-DMYSQL_DATADIR=/data/mysql/data                         指向mysql数据文件目录

-DMYSQL_TCP_PORT=3306                                              指定TCP端口为3306

-DMYSQL_USER=mysql                                                     指定mysql用户(默认为mysql)

其他可选参数参照链接     http://www.blogjava.net/kelly859/archive/2012/09/04/387005.html

[root@node4 mysql-5.6.17]# make && make install

7、初始化数据库

[root@node4 mysql-5.6.17]# cd /usr/local/mysql/scripts/

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

8、配置数据库

[root@node4 scripts]# cd /usr/local/mysql/support-files

在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件删除,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

[root@node4 support-files]# rm -rf /etc/my.cnf 

[root@node4 support-files]# cp my-default.cnf /etc/my.cnf

[root@node4 support-files]# vim /etc/my.cnf

添加

[client]

socket = /tmp/mysql.sock

因为源码编译修改了MYSQL_UNIX_ADDR,在这里写上你的mysql.sock的正确位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下,使用ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 也可以。


复制修改运行文件

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

修改路径配置

[root@node4 support-files]# vim /etc/init.d/mysqld

 basedir=/usr/local/mysql

 datadir=/data/mysql/data

9、配置为系统服务,设定启动级别

[root@node4 support-files]# cd

[root@node4 ~]# chkconfig --add mysqld

[root@node4 ~]# chkconfig --level 345 mysqld on

[root@node4 ~]# service mysqld start

10、 设置登录密码

法一:用mysql提供的命令行命令设置密码

[root@node4 ~]# /usr/local/mysql/bin/mysqladmin -u root password 'new_pass'

法二:进入到mysql数据库修改密码

[root@node4 ~]# /usr/local/mysql/bin/mysql

......

mysql> SET PASSWORD FOR 'USERNAME'@'HOST'=PASSWORD('new_pass'); 

或者

mysql> UPDATE mysql.user SET PASSWORD=PASSWORD('new_pass') WHERE ‘条件匹配’;

11、设置路径变量

[root@node4 ~]# vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

[root@node4 ~]# . /etc/profile.d/mysql.sh 

12、免用户,密码,host登录

[root@node4 ~]# vim .my.cnf

[client]

user = 'root'

password = 'zhyzhy'

host = 'localhost'

[root@node4 ~]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 12

Server version: 5.6.17 Source distribution

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>