一、卸载旧版本数据库。
查看是否安装旧版本数据库,如果安装了,请自行卸载旧版本系统自带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>