CentOS6.5源码安装MySQL5.6.35

一、卸载旧版本

1、使用下面的命令检查是否安装有mysql
[root@localhost tools]# rpm -qa|grep -i mysql
2、有的话就卸载
[root@localhost tools]# yum remove MySQL-server-5.6.35-1.el6.i686
[root@localhost tools]# yum remove MySQL-devel-5.6.35-1.el6.i686
[root@localhost tools]# yum remove MySQL-client-5.6.35-1.el6.i686
[root@localhost tools]# yum remove mysql-utilities-1.6.5-1.el6.noarch
[root@localhost tools]# yum remove mysql-connector-python-2.1.5-1.el6.i686
3、删除相关目录
[root@localhost tools]# whereis mysql
[root@localhost tools]# rm -rf /usr/share/mysql
[root@localhost tools]# rm -rf /var/lib/mysql
[root@localhost mysql]# mv /usr/lib/mysql /usr/lib/mysql.bak #这个当时不确定是rmp包所创建,暂时改名

二、安装MySQL

4、安装编译代码需要的包
[root@localhost tools]# yum list|grep ncurses-devel
[root@localhost tools]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel 5、下载MySQL 5.6.35
[root@localhost tools]# wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
[root@localhost tools]# tar zxvf mysql-5.6.35.tar.gz
[root@localhost tools]# cd mysql-5.6.35
第一次下载错了(mysql-5.6.35-linux-glibc2.5-i686.tar.gz),编译时总是报错
CMake Error: The source directory “*” does not appear to contain CMakeLists.txt.
要选择的是 MySQL Community Server 下的 Source Code!!! 6、目录创建(-p父目录不存在则创建此目录)
[root@localhost mysql-5.6.35]# mkdir -p /usr/local/mysql/data 7、编译安装
[root@localhost mysql-5.6.35]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@localhost mysql-5.6.35]# make && make install
[root@localhost mysql-5.6.35]# make clean
 
-DCMAKE_INSTALL_PREFIX=dir_name 设置mysql安装目录
-DMYSQL_UNIX_ADDR=file_name 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name 设置服务器的字符集。
缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。
-DDEFAULT_COLLATION=collation_name 设置服务器的排序规则。
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
存储引擎选项:

MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。

静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1

可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)

-DMYSQL_DATADIR=dir_name 设置mysql数据库文件目录
-DMYSQL_TCP_PORT=port_num 设置mysql服务器监听端口,默认为3306
-DENABLE_DOWNLOADS=bool 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。
 
 
 
 
 

三、配置MySQL

8、设置权限
查看是否有mysql用户及用户组
[root@localhost mysql-5.6.35]# cat /etc/passwd
[root@localhost mysql-5.6.35]# cat /etc/group
如果没有就添加mysql用户和组
[root@localhost mysql-5.6.35]# groupadd mysql
[root@localhost mysql-5.6.35]# useradd -g mysql mysql
修改/usr/local/mysql权限
[root@localhost mysql-5.6.35]# chown -R mysql:mysql /usr/local/mysql 9、初始化配置
进入安装路径
[root@localhost mysql-5.6.35]# cd /usr/local/mysql
执行初始化配置脚本,创建系统自带的数据库和表
[root@localhost mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql 10、启动MySQL
添加服务,拷贝服务脚本到init.d目录
如果/etc目录有之前存在的my.cnf文件,将其重命名。启动MySQL服务时,会优先在/etc目录下查找
[root@localhost mysql]# mv /etc/my.cnf /etc/my.cnf.bak
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chkconfig mysql on
[root@localhost mysql]# service mysql start --启动MySQL 11、配置用户
设置PATH
[root@localhost mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql]# source /etc/profile
[root@localhost mysql]# echo $PATH
修改root密码
[root@localhost mysql]# mysql -uroot
mysql> SET PASSWORD = PASSWORD('mysql5635');
设置mydba用户可以远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'mydba'@'%' IDENTIFIED BY 'mysql5635' WITH GRANT OPTION;
防火墙设置可参考 http://www.cnblogs.com/ShanFish/p/6519950.html 12、补充
退出后重新在终端登录
[root@localhost ~]# mysql -uroot -p
bash: mysql: command not found
使用完整的路径可以登录
[root@localhost ~]# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
最后建立一个软链接,其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决
[root@localhost ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin

Add 2017-03-13 关于环境变量第一次使用的是临时的

#直接运行export命令定义变量【只对当前shell有效(临时的)】
[root@VMUest ~]# export PATH=/usr/local/mysql/bin:$PATH
[root@VMUest ~]# echo $PATH

它只对当前的shell有效,因此刚配置时可以使用mysql,退出登录就不能使用。后来将export写入到文件/etc/profile,就可以永久有效,当然也不需要软链接啦

[root@VMUest ~]# ll /usr/bin |grep mysql
lrwxrwxrwx. 1 root root 26 Mar 10 16:23 mysql -> /usr/local/mysql/bin/mysql
[root@VMUest ~]# rm -f /usr/bin/mysql
[root@VMUest ~]# mysql -uroot -p
Enter password:

CentOS6.5源码安装MySQL5.6.35的更多相关文章

  1. CentOS6.7源码安装MySQL5.6

    1.源码安装MySQL5.6 # CentOS6操作系统安装完成后,默认会在/etc目录下存在一个my.cnf, # 强制卸载了mysql-libs之后,my.cnf就会消失 rpm -qa | gr ...

  2. CentOS6.5下源码安装MySQL5.6.35

    接上一篇文章使用RPM包安装MySQL,确实很方便.但是安装后却不知道各文件保存在哪个文件夹下!尝试使用源码安装~本文主要参考:CentOS 6.4下编译安装MySQL 5.6.14一.卸载旧版本 . ...

  3. CentOS6下源码安装mysql-5.6.25

    1.1.系统环境检查 1)检查系统版本 mkdir -p /server/tools/ cd /server/tools/ cat /etc/redhat-release 2)配置域名解析 vim / ...

  4. 64位CentOs7源码安装mysql-5.6.35过程分享

    首先安装依赖包,避免在安装过程中出现问题 [root@bogon liuzhen]# yum -y install gcc gcc-c++[root@bogon liuzhen]# yum -y in ...

  5. 在CentOs7源码安装mysql-5.6.35单实例数据库

    首先安装依赖包,避免在安装过程中出现问题 [root@bogon liuzhen]# yum -y install gcc gcc-c++[root@bogon liuzhen]# yum -y in ...

  6. CentOS6.5源码安装mysql-5.5.21

    本文参考自 http://www.cnblogs.com/ShanFish/p/6531365.html,但不局限于它. 一. 卸载旧版本 .检查是否安装mysql组件 # rpm -qa | gre ...

  7. lnmp之阿里云源码安装mysql5.7.17

    mysql5.7.17一直号称世界上最好的mysql 那么就在阿里云主机linux安装它(采用的源码安装mysql5.7.17) 我在阿里云主机上安装它 连接阿里云主机 进入,跟我们自己装的虚拟机一毛 ...

  8. CENTOS6.5源码安装LNMP

    CENTOS6.5源码安装LNMP 一.安装前准备 ########################################################################## ...

  9. CentOS7 实战源码安装mysql5.7.17数据库服务器

    CentOS7 实战源码安装mysql5.7.17数据库服务器 简介:实战演练mysql数据库服务器的搭建  mysql简介: mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的 ...

随机推荐

  1. vue js的简单总结

    这篇文章主要对vue的理解进行总结: 参考来源:http://blog.csdn.net/generon/article/details/72482844 vue.js是一套构建用户界面的渐进式框架, ...

  2. Python之字节到大整数的打包与解包

    需求:处理一个拥有128位长的16个元素的字节字符串 将bytes解析为整数,使用 int.from_bytes() 方法,并像下面这样指定字节顺序: # 为了将bytes解析为整数,使用 int.f ...

  3. 三、TortoiseSVN 单独拉取项目某个文件

    一.项目拉取后,单独对某个文件拉取 实践中会出现这样的问题,在svn 中 我项目 ,已经拉取了,但是 某个文件改乱了 ,想从新对某个文件拉取 . 解决方案:1.删除某个文件,从新更新获取-右击该文件上 ...

  4. vue 组件之间互相传值:兄弟组件通信

    vue 组件之间互相传值:兄弟组件通信我们在项目中经常会遇到兄弟组件通信的情况.在大型项目中我们可以通过引入 vuex 轻松管理各组件之间通信问题,但在一些小型的项目中,我们就没有必要去引入 vuex ...

  5. windows 安装 jenkins笔记

    Jenkins 所有镜像列表: http://mirrors.jenkins-ci.org/status.html 可在镜像网站上下载安装文件,比官方下载快些 jenkins 官网地址: https: ...

  6. idea spring boot搭建笔记

    如何建立spring boot项目 首先建一个empty Probject,Modules导入新创建的Project new modules选择Spring lnitializr ->next( ...

  7. 【CSS3】transform-origin以原点进行旋转 (转)

    话不多说, 以左上角为原点 -moz-transform-origin: 0 0; -webkit-transform-origin:0 0; -o-transform-origin:0 0; 以右上 ...

  8. jQuery判断checkbox是否选中的4种方法

    方法一: ).checked) { // do something } 方法二: if($('#checkbox-id').is(':checked')) { // do something } 方法 ...

  9. FTPClient TLS 与 FTP 进行数据传输异常:Remote host closed connection during handshake

    环境:java JDK 1.8.org.apache.commons-net-3.6.jar.端口已放开 FTPClient ftpClient = new FTPClient(protocol, f ...

  10. ThreadLocal内存泄漏

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11421437.html 内存泄漏 内存泄漏是指不再使⽤的对象⽆法得到及时的回收,持续占⽤内存空间,从⽽ ...