一、卸载旧版本数据库。查看是否安装旧版本数据库,如果安装了,请自行卸载旧版本系统自带5.1.x数据库。rpm -qa | grep mysql
如果已经安装了旧版本的mysql,使用rpm -e mysql #普通删除模式
或者
rpm -e --nodeps mysql #强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
二、安装MySQL5.6。
1).安装编译代码需要的包。yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2).下载MySQL 5.6.20,并且解压,编译、安装。[root@vmware1 ~]# mkdir -p /data
[root@vmware1 ~]# cd /data/
[root@vmware1 data]# wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.20.tar.gz
[root@vmware1 data]# tar -zxf mysql-5.6.20.tar.gz
[root@vmware1 data]# cd mysql-5.6.20
[root@vmware1 mysql-5.6.20]#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLE_DOWNLOADS=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@vmware1 mysql-5.6.20]# make && install
编译参数详细介绍:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定MySQL安装目录
-DMYSQL_DATADIR=/data/mysql #数据存储目录
-DSYSCONFDIR=/etc 、 #配置文件(my.cnf)目录
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #编译MySQL的MYISAM存储引擎,默认安装的。
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #编译MySQL的INNODB存储引擎,默认的存储引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #编译MySQL的MEMORY存储引擎,
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #编译MySQL的archive存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装分区存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安装blackhole存储引擎
-DWITH_READLINE=1 \ #使用readline功能
-DENABLE_DOWNLOADS=1 \ #自动下载可选文件
-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ #socket的路径
-DMYSQL_TCP_PORT=3306 \ #指定MySQL端口号3306
-DEXTRA_CHARSETS=all \ #安装所有扩展字符集
-DDEFAULT_CHARSET=utf8 \ #指定字符集utf8
-DDEFAULT_COLLATION=utf8_general_ci #设置默认校对字符集,默认字符集一定要与校对集相对应。
三:配置MySQL。
1)查看是否有mysql用户,没有的话,添加mysql用户和组。[root@vmware1 mysql-5.6.20]# id mysql
id: mysql: No such user
[root@vmware1 mysql-5.6.20]# groupadd mysql
[root@vmware1 mysql-5.6.20]# useradd -g mysql mysql
2)修改/usr/local/mysql权限。[root@vmware1 mysql-5.6.20]# chown -R mysql:mysql /usr/local/mysql
3)初始化mysql配置。[root@vmware1 mysql-5.6.20]# cd /usr/local/mysql
[root@vmware1 mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql
四、启动MySQL。[root@vmware1 mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@vmware1 mysql]# chkconfig mysql on
[root@vmware1 mysql]# service mysql start
Starting MySQL...... ERROR! The server quit without updating PID file (/var/lib/mysql/vmware1.pid).
1)问题解决方法:(修改mysql的数据存储路径)
修改之后,如下所示:[root@vmware1 mysql]# cat /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
2)重启启动MySQL。[root@vmware1 mysql]# service mysql start
Starting MySQL.. SUCCESS!
[root@vmware1 mysql]# ps -ef | grep mysql
root 16713 1 0 17:32 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/vmware1.pid
mysql 16889 16713 0 17:32 pts/1 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/data/mysql/vmware1.pid --socket=/var/lib/mysql/mysql.sock
3)修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH关闭文件,运行下面的命令,让配置立即生效
source /etc/profile现在,我们可以在终端内直接输入mysql进入,mysql的环境了。[root@vmware1 mysql]# tail -2 /etc/profile
unset -f pathmunge
PATH=/usr/local/mysql/bin:$PATH
[root@vmware1 mysql]# source /etc/profile
[root@vmware1 mysql]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.20 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>