环境:centos
mysql版本:5.6.22
1.卸载环境中旧版本mysql
rpm -qa |grep mysql --color=auto //查询是否有旧版本mysql 如果有则继续执行以命令
rpm -e mysql //普通删除
rpm -e --nodeps mysql //强力删除,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
2.安装mysql过程中用到的工具
yum -y install gcc-c++ gdb cmake ncurses-devel bison bison-devel openssl openssl-devel
//工具解释
gcc-c++ 是C语言和C++语言的编译器
gdb
cmake 是一种跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的编译过程,他能输出各种各样的makefile或者project文件,能测试编译所支持的c++特性
ncurses-devel 是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库
bison linux的基础包之一,它包括bison和yacc两个程序,用于GUN编译工具包的语法生成,分析文本文件结构
openssl 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用
3.安装mysql
下载链接:http://dev.mysql.com/doc/refman/5.6/en/getting-mysql.html
或者我的百度网盘:http://pan.baidu.com/s/1geQ00Bx
1)下载完成后解压
tar -zxvf mysql-5.6.22.tar.gz
cd mysql-5.6.22
2)编译安装
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #mysql数据存储路径
-DSYSCONFDIR=/etc \ #mysql配置文件路径
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #innodb引擎支持
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #myisam引擎支持
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #memory引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #PARTITION引擎支持
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #UNIX socket文件存放位置
-DMYSQL_TCP_PORT=3306 \ #数据库端口
-DDEFAULT_CHARSET=utf8 \ #数据库默认字符集
-DEXTRA_CHARSETS=all \ #扩展字符支持-DWITH_READLINE=1 \ #readline库
-DWITH_EMBEDDED_SERVER=1 \ //
-DENABLED_LOCAL_INFILE=1 \ #启用加载本地数据
-DDEFAULT_COLLATION=utf8_general_ci #默认字符校对
make && make install
3)配置mysql
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,
这是新版MySQL的配置文件的默认位置!在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,
如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动
4)启动
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start --启动MySQL
5)配置mysql账户
//MySQL启动成功后,root默认没有密码,我们需要设置root密码。设置之前,我们需要先//设置PATH,要不不能直接调用mysql,修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
//关闭文件,运行下面的命令,让配置立即生效
source /etc/profile
mysql -uroot
mysql> SET PASSWORD = PASSWORD('root');
//若要设置root用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;