环境: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.gzcd 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 mysqluseradd -r -g mysql mysqlchown -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/mysqlchkconfig mysql onservice mysql start --启动MySQL
5)配置mysql账户
//MySQL启动成功后,root默认没有密码,我们需要设置root密码。设置之前,我们需要先//设置PATH,要不不能直接调用mysql,修改/etc/profile文件,在文件末尾添加PATH=/usr/local/mysql/bin:$PATHexport PATH//关闭文件,运行下面的命令,让配置立即生效source /etc/profilemysql -urootmysql> SET PASSWORD = PASSWORD('root');//若要设置root用户可以远程访问,执行mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;