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>