关闭

CentOS7 源码安装 MySQL 5.6

标签: mysqlcmakeyum
2587人阅读 评论(4) 收藏 举报
分类:
第一部分:目录

1.准备工作  2. 运行环境     3. 确认你的安装版本  4.下载MySQL  5.安装MySQL    6.准备安装环境    7.编译和安装   8.配置MySQL

9.单实例配置    10.单实例配置方法  11.添加防火墙    12.启动MySQL   13.重启MySQL   14.实例配置  15.什么是多实例  16.多实例配置方法

17.创建启动文件   18.初始化数据库   19.配置防火墙   20.启动MySQL   21.登陆MySQL   22.重启MySQL   23.准备工作  24.运行环境


第二部分:确认你的安装版本

mysql分为开发版本和稳定版本(GA),开发版本拥有最新的特性,但是并不稳定,也没有完全经过测试,可能存在严重的bug,而稳定版本是经过了长时间的测试,消除了具有已知的bug,其稳定性和安全性都得到一定的保障。

对于一个mysql的版本号如:mysql-5.6.1-m1,这个版本号意味着什么呢?
1.对于5.6.1的解释:第一个数字5代表了文件格式,第二个数字6代表了发行级别,第三个数字1代表了版本号。更新幅度较小时,最后的数字会增加,出现了重大特性更新时,第二个数字会增加,文件格式改变时,第一个数字会增加 
2.对于m1的解释:这是用来表明这个mysql版本的稳定性级别的,如果没有这个后缀,那么这个版本就是一个稳定版(GA);如果这个后缀是mN(例如m1,m2)格式,表明了这个版本加入了一些经过彻底测试的新特性,可以认为这是一个试生产的模具;如果这个后缀是rc,表明了这是一个候选版本,已经修改了已知的重要bug,但是没有经过足够长时间的使用来确认所有的bug已经被修复。

一旦选择了版本号,就要选择使用哪个发行版,你可以使用二进制发行版如RPM包或Zip压缩包等,但是如果你要实现如下的功能,就要选择源码安装(本文正是选择源码安装的方式):
1.l把mysq安装到指定位置 
2.l使用mysql的一些特性(标准的二进制版本中并没有这些特性)如:TCP封包支持,调试mysql 
3.二进制版本中默认支持所有的字符集,但你可以在编译安装源码时指定字符集,从而使得安装的mysql更小


第三部分:

1、CentOs7版本默认情况下安装了mariadb-libs,必须先卸载才可以继续安装MySql

卸载原有MySQL或者Mariadb

安装程序
1、卸载原有MySQL或者Mariadb安装程序

a)  查找以前是否安装mariadb-libs 

[root@localhost ~]# rpm -qa | grep -i mariadb-libs
mariadb-libs-5.5.35-3.el7.x86_64

b)卸载已经安装的mariadb-libs
[root@localhost ~]# yum remove mariadb-libs-5.5.35-3.el7.x86_64

2、查找以前是否安装MySQL 
[root@localhost ~]# rpm -qa | grep -i mysql

如果显示有数据 说明已经安装了 MySQL 程序

a) 停止mysql服务
[root@localhost ~]# service mysql stop

 或者:
 [root@localhost ~]# ps -A | grep mysql

 [root@localhost ~]# kill -9 进程号

b)删除之前安装的mysql

 [root@localhost ~]# rpm -ve  文件名称   例如:MySQL-server-5.6.24-1.linux_glibc2.5.x86_64

 [root@localhost ~] # rpm -ve 文件名称   例如:MySQL-client-5.6.24-1.linux_glibc2.5.x86_64

c) 查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

 [root@localhost ~]# find / -name mysql

【查找结果如下:一下目录是我之前的目录、有可能咱们的目录不一样、不过没关系、按照查找出来的目录删除即可。】

 [root@localhost ~]# find / -name mysql    

/var/lib/mysql

/usr/lib64/mysql

/usr/local/mysql

/usr/local/mysql/data/mysql

 

【删除对应的目录】

 [root@localhost ~]# rm -rf /var/lib/mysql

 [root@localhost ~]# rm -rf /usr/lib64/mysql

 [root@localhost ~]# rm -rf /usr/local/mysql 

【删除配置文档】

 [root@localhost ~]# rm -rf /etc/my.cnf

d) 再次查找机器是否安装mysql

[root@localhost ~]# rpm -qa | grep -i mysql

【无结果,说明已经卸载彻底、接下来直接安装mysql 即可】

第一步:下载 Mysql   下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

下载完后需要检查文件的MD5,以确认是否从官网下载的原版本(以防被人篡改过该软件)


我从windows下载后上传到linux的,密令是 Linux 的 rz   然后在使用md5sum命令来检查:加密的字符串 是否跟当时自己下载的一致、一致代表没问题、否则请重新下载。

[root@localhost ~]# md5sum mysql-5.6.32.tar.gz
cca05ccb4b64ad0addc8fa5c3b9e1619  mysql-5.6.32.tar.gz


第二步:安装mysql         准备安装环境              首先再次检查是否已经安装过mysql:

[root@localhost wengpengle]# rpm -qa | grep mysql

//有的话就卸载掉以前安装的mysql:

[root@localhost ~]# rpm -e --nodeps xxx(xxx是搜索结果)

//并删除所有的相关文件:

/etc/my.cnf

第三步:编译和安装     安装编译代码所需要的包有以下。一下的包centos7 自带的都有、我建议在重新安装或者是更新一下。

1.安装 所需小环境

[root@localhost ~]# yum -y install make bison-devel ncures-devel libaio

[root@localhost ~]# yum -y install libaio libaio-devel

[root@localhost ~]# yum -y install perl-Data-Dumper

[root@localhost ~]# yum -y install net-tools

2.安装bison

bison下载地址:http://www.gnu.org/software/bison/

 

[root@localhost ~]# tar zxvf bison-2.5.tar.gz 

[root@localhost ~]# cd bison-2.5 

[root@localhost ~]# ./configure 

[root@localhost ~]# make 

[root@localhost ~]# make install 

3.安装gcc-c++

gcc-c++下载地址:http://www.gnu.org/software/gcc/

 

[root@localhost ~]# tar zxvf gcc-c++-4.4.4.tar.gz 

[root@localhost ~]# cd gcc-c++-4.4.4 

[root@localhost ~]#./configure 

[root@localhost ~]# make 

[root@localhost ~]# make install 

4.安装cmake

cmake下载地址:http://www.cmake.org/

 

[root@localhost ~]# tar zxvf cmake-2.8.4.tar.gz 

[root@localhost ~]# cd cmake-2.8.4 

[root@localhost ~]#./configure 

[root@localhost ~]# make 

[root@localhost ~]# make install 

5.安装ncurses

ncurses下载地址:http://www.gnu.org/software/ncurses/

 

[root@localhost ~]# tar zxvf ncurses-5.8.tar.gz 

[root@localhost ~]# cd ncurses-5.8 

[root@localhost ~]#./configure 

[root@localhost ~]# make 

[root@localhost ~]# make install 


第四步:解压刚刚下载的Mysql安装包  

[root@localhost ~]#tar -zxvf mysql-5.6.32.tar.gz

第五步:编译安装

[root@localhost mysql-5.6.32]# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc/my.cnf  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.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

以下是每一个的解释

# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56  \    #安装路径

# -DMYSQL_DATADIR=/usr/local/mysql/data      \    #数据文件存放位置

# -DSYSCONFDIR=/etc                         \    #my.cnf路径

# -DWITH_MYISAM_STORAGE_ENGINE=1            \    #支持MyIASM引擎

# -DWITH_INNOBASE_STORAGE_ENGINE=1          \    #支持InnoDB引擎

# -DWITH_MEMORY_STORAGE_ENGINE=1            \    #支持Memory引擎

# -DWITH_READLINE=1                         \    #快捷键功能(我没用过)

# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock        \    #连接数据库socket路径

# -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 ~] make && make install
至此 MySQL 安装完成

第六步:配置mysql

检查系统是否已经有mysql用户,如果没有则创建

[root@localhost mysql-5.6.32]# cat /etc/passwd | grep mysql
[root@localhost mysql-5.6.32]# cat /etc/group | grep mysql

创建mysql用户(但是不能使用mysql账号登陆系统)

[root@localhost mysql-5.6.32]# groupadd mysql -s /sbin/nologin
[root@localhost mysql-5.6.32]# useradd -g mysql mysql

修改权限

[root@localhost mysql-5.6.32]# chown -R mysql:mysql /usr/local/mysql

至此 配置完成

7.完成后,继续下面的操作

# cd /usr/local/mysql 

# chown -R mysql:mysql .    (#这里最后是有个.的大家要注意# 为了安全安装完成后请修改权限给root用户)

# scripts/mysql_install_db --user=mysql    (先进行这一步再做如下权限的修改)

# chown -R root:mysql .     (将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限)

# chown -R mysql:mysql ./data    (数据库存放目录设置成mysql用户mysql组)

# chmod -R ug+rwx  .     (赋予读写执行权限,其他用户权限一律删除仅给mysql用户权限)

 

下面的命令是将mysql的配置文件拷贝到/etc

# cp support-files/my-default.cnf  /etc/my.cnf

(5.6之前的版本用如下命令)

# cp support-files/my-medium.cnf /etc/my.cnf  (5.6之前的版本是此操作,读者也可在此时自己进入support-files文件夹下面,看是配置文件的真正名称,那个存在,就拷贝那个。。)

修改my.cnf配置

   # vi /etc/my.cnf

    

#[mysqld] 下面添加:

 user=mysql

    datadir=/data/mysql

 default-storage-engine=MyISAM

 
8.启动mysql

# bin/mysqld_safe --user=mysql &        或者直接进入bin文件夹下面

# cd bin

#./mysqld                              \ 这里说明,mysqld_safe或者mysqld都可以启动的

启动mysql,看是否成功 

# ps –ef|grep mysql

 

 

# netstat -tnl|grep 3306 

上面是一种启动mysql的方法,还有一种简单的方便,如下:

将mysql的启动服务添加到系统服务中 

# cp support-files/mysql.server  /etc/init.d/mysql 

现在可以使用下面的命令启动mysql 

# service mysql start 

停止mysql服务 

# service mysql stop 

重启mysql服务 

# service mysql restart

9.修改root用户密码

 

# chkconfig --add mysql

修改默认root账户密码,默认密码为空

修改密码 cd 切换到mysql所在目录

# cd /usr/local/mysql

# ./bin/mysqladmin -u root password
回车在接下来的提示中设置新密码即可。。

最后

# service mysql restart;              (重启mysql服务器)

# cd /usr/local/mysql/bin/        (进入mysql basedir下面的bin中)

# ./mysql                                (开启客户端)
 





1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:105560次
    • 积分:1901
    • 等级:
    • 排名:千里之外
    • 原创:90篇
    • 转载:1篇
    • 译文:1篇
    • 评论:46条
    最新评论