Linux CentOS6.6系统中安装mysql源码包的方法

这里以CentOS6.6系统中安装MySQL的源码包,进行讲解。

1. mysql源码包的下载

mysql安装包的官方下载地址为:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

打开该下载地址后,在 “Select Version:”处,选择要下载的mysql的版本,我选择的是5.6.34;在“Select Platform:”处,选择适用的操作系统类型,由于是下载源码包,故这里我们要选择Source Code。

之后,会显示适合各个系统的安装包(奇怪的是,该列表中居然有很多rpm包),但这里我们并不是用rpm包来安装mysql。这里我们选择 Generic Linux (Architecture Independent), Compressed TAR Archive,在它的最右边有一个Download按钮,点击它就可以找到下载链接。

如果你还是不会的话,就直接使用我已经找到的下载地址:http://101.110.118.70/dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.34.tar.gz 直接使用 wget 命令下载即可。

如果知道mysql源码包的具体地址,可直接在linux系统中使用 wget 命令,进行下载。
(注意:如果你的linux系统中还没有 wget 命令,可使用 yum -y install wget,先安装 wget)

在linux的根目录,创建一个多级空目录 /my_package/source,用来存放下载的源码包。

mkdir -p /my_package/source
cd /my_package/source

执行下载命令:

wget http://101.110.118.70/dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.34.tar.gz

下载完成后,在目录 /my_package/source 中,就有了mysql的源码包 mysql-5.6.34.tar.gz

然后,可以对安装包的完整性进行MD5校验,即使用下面的命令:

md5sum ./mysql-5.6.34.tar.gz

执行该命令后,会生成一个md5的校验值,将该值与源码包下载页面给出的md5值进行人工比对,如果一致,则说明安装包完整无缺(当然,你也可以不校验)。

2. mysql源码包的安装与配置

从mysql5.5版本开始,源码安装mysql需要使用到 cmake 命令。

检查你的linux系统是否安装了 cmake,可使用下面的命令检查:

whereis cmake

如果安装了 cmake 命令,就会显示 cmake 命令的绝对路径和 cmake命令帮助手册的绝对路径。否则,就说明没有安装 cmake 命令。

这里,使用 yum 工具,在线快速安装 cmake,方法如下:

yum search cmake
yum -y install cmake.i686

还需要安装bison、gcc、gcc-c++和ncurses,也用yum工具快速安装:

yum -y install bison
yum -y install gcc gcc-c++ ncurses

上述准备工作做好了之后,再来安装mysql,下面来详细介绍mysql的安装步骤。

(1)创建用户组和系统用户

出于安全考虑,需要创建一个组名为mysql的用户组,然后再创建一个属于该用户组的系统用户mysql,该系统用户的作用是用来安装和运行MySQL服务。

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

(2)解压源码压缩包

tar -zxvf mysql-5.6.34.tar.gz
cd mysql-5.6.34

解压完毕后,进入解压后的目录。一般来说,该目录中都会有README(关于该软件包的介绍说明)和INSTALL(安装说明),这两个文件。当然,也可以不参考它的安装说明。

(3)安装参数配置、编译和安装

可以利用 cmake 命令来设置一些安装参数(如安装路径等),这里我们使用默认配置,然后进行编译 make,编译完成之后,执行安装过程 make install。

cmake .
make
make install

(4)MySQL数据目录初始化

安装过程执行完成之后,会在 /usr/local/ 目录中,自动生成一个文件夹mysql,也就是说,/usr/local/mysql 是MySQL的默认安装目录。
现在,我们需要对MySQL进行一些初始化操作,比如:初始化 data 目录,初始化MySQL的系统表,初始化一个配置文件 my.cnf 等等。

cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
chown -R root .
chown -R mysql data

说明:scripts/mysql_install_db 是 MySQL的初始化命令。在初始化命令前,将目录 /usr/local/mysql 的所有者和所属组改为了mysql;在初始化命令后,将目录 /usr/local/mysql 的所有者改为了root,然后又将 /usr/local/mysql/data 目录的所有者改为了mysql。

注意:上述初始化操作完成后,会在 /usr/local/mysql 目录中自动生成一个配置文件 my.cnf。如果系统的其他位置没有 my.cnf 文件,启动MySQL的时候,就会默认以 /usr/local/mysql/my.cnf 作为配置文件启动。否则,需要手动指定要使用的配置文件。
当然,最好的办法是删除其他位置的my.cnf。

我们会发现,在linux系统的配置文件目录 /etc 中,本身就早已存在了一个 my.cnf 文件,为了防止冲突,我们将其删除(其实,初始化操作完成后,也会给出这样的提示)。

rm -f /etc/my.cnf

(5)启动和关闭MySQL服务

手动启动MySQL:

cd /usr/local/mysql
bin/mysqld_safe --user=mysql &

启动完毕后,使用下面的命令检测MySQL是否启动成功

netstat -tlunp

ps aux | grep mysql

如果MySQL没有启动成功,就查看一下错误日志:

vi /usr/local/mysql/data/localhost.localdomain.err

根据具体的错误信息,解决问题后,重新启动MySQL。

关闭MySQL:

./bin/mysqladmin -u root -p shutdown

为了方便,将mysql的bin目录加入linux系统的环境变量PATH中,方法如下:

export PATH=/usr/local/mysql/bin:$PATH

这样,我们就可以在任何目录直接使用 /usr/local/mysql/bin 目录中的命令,而不用再带上绝对路径了,或者说不用再切换到该目录中了。

(6)常见的错误及解决方法

错误1 :无法在本地连接mysql

当MySQL服务成功启动后,却发现无法在本地连接上mysql,即在本地使用命令 mysql -uroot -p 时,却出现错误信息“-bash: mysql: command not found”。如果已经确定mysql命令存在且访问方式正确,但还是出现该错误信息,则很有可能是 socket 套接字文件的绝对路径没有明确指定导致的。

解决方法:

修改mysql的配置文件 /usr/local/mysql/my.cnf,加入下面的代码:

[client]
socket=/tmp/mysql.sock

也就是,在配置文件中,明确指定socket套接字的位置。mysql.sock文件会在MySQL服务启动后,自动生成。如果不清楚它的具体路径,可使用命令 find / -name mysql.sock,进行查找。

修改mysql的配置文件后,关闭MySQL服务,然后重新开启MySQL服务。再来在本地连接mysql试试,一般就没问题了。

错误2:无法在远程连接mysql

在本地连接mysql没有问题,但是在其他电脑上连接mysql,就算使用同样的用户名(如:root)和密码,也无法连接上mysql。

这是因为,linux系统的mysql服务器出于安全考虑,默认只允许在本地登录数据库服务器。

mysql服务器中,有一个系统数据库,名为mysql,该库中有一个user数据表,user表有很多字段,比如:host、user、password和权限字段等等。mysql服务器,通过该表来控制各个用户的操作权限。

所以,只要对该表的数据进行修改或在表中新增一条授权记录,就可以了。

解决方法:

首先,我们不急着解决问题,先看看问题的原因。在本地登录root用户,查看下mysql数据库中user表的记录信息。

mysql -uroot -p
show databases;
use mysql;
show tables;
select host,user,password from user;

这时,我们会发现,所有用户(包括root)的host列的值基本上都是localhost或127.0.0.1,也就是说,默认只允许从本地登录和操作mysql。可以证明,上面的分析是正确的。

然后,我们再来解决问题。给指定的用户分配所有的操作权限,并允许其从其他电脑登录和操作MySQL服务器。一般来说,仅执行下面的命令就可以完成授权,并解决问题:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '';

上面的命令执行完后,就会在mysql.user表中新增一条授权记录。此后,我们也就可以从远程的其他电脑登录这台linux的MySQL服务器了。

如果还是有问题,可以执行命令:flush privileges; 该命令的作用是使刚刚新增的授权记录立即生效(一般都不用执行该命令)。

可能很多人都不明白刚刚的授权命令,这里,我进行详细说明,以便大家可以灵活运用该命令进行授权。

ALL PRIVILEGES:表示给指定的用户分配所有的权限,主要包括增、删、改、查等等。

ON *.*:表示指定的用户可以对所有数据库的所有数据表进行操作,如果想改为指定数据库的指定数据表,可以用 “ON 数据库名.数据表名” 替代。

TO ‘root':表示给root用户分配操作权限,如果想给其他的用户分配权限,可以将root改为其他的用户名。

@'%':表示允许所有的客户端IP进行访问。也就是说,% 表示不限制客户端的IP地址。如果想限制客户端的IP地址,可以将 % 替换为指定的IP地址。

IDENTIFIED BY ”:表示被授权的用户的密码。由于我是给root用户分配权限,而root用户的密码默认为空,故我使用的是空字符串。

(7)设置root用户的初始密码

mysql的root用户默认是没有密码的,这里设置root用户的初始密码为123456。即执行下面的命令:

mysqladmin -u root password '123456'

当然,也可以让root用户一直没有密码。但为了安全起见,还是推荐给root用户设置一个初始密码。

(8)将mysql服务添加到系统服务

将mysql服务添加到系统服务,是为了以后可以通过系统服务快速启动或关闭mysql服务。方法如下:

cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql.server

这样,就可以使用新的方式启动和关闭mysql服务了。

启动mysql服务:service mysql.server start

关闭mysql服务:service mysql.server stop

重启mysql服务:service mysql.server restart

当然,以前的命令方式(启动和关闭)仍然有效。

mysqld_safe --user=mysql &
mysqladmin -u root -p shutdown

(9)将mysql服务设置为开机自动启动

将mysql服务设置为开机自动启动的方法有很多种,这里只介绍修改

/etc/rc.d/rc.local 文件的方式。

也可以修改 /etc/rc.local 这个文件,/etc/rc.local 其实是 /etc/rc.d/rc.local 文件的软链接,相当于快捷方式,该文件会在系统开机后自动执行。

只需执行下面的命令,即可将mysql服务设置为开机自启动:

echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local

上面的命令表示,将字符串 “/usr/local/mysql/bin/mysqld_safe –user=mysql &” 以追加的方式写入 /etc/rc.d/rc.local 文件。

由此可知,要想关闭mysql的开机自启动,只需编辑这个文件,删除刚刚写入的字符串即可。

以上所述是小编给大家介绍的Linux CentOS6.6系统中安装mysql源码包的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • CentOS Linux 下配置Apache2+PHP5+MySQL5+GD库的方法

    先安装MYSQL 服务器 解压MySQL,把所有文件复制到/usr/local/mysql [root@Bleach usr]# groupadd mysql [root@Bleach usr]# useradd -g mysql mysql [root@Bleach mysql]# cd /usr/local/mysql [root@Bleach mysql]# scrīpts/mysql_install_db --user=mysql  [root@Bleach mysql]# chown 

  • CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解

    MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安装配置,自定义非常方便.但在安装过程中发现,其实官方提供的安装说明文件太过简单,而且里面的参数还有问题,依照执行后,mysql 服务启动报错,查找了一些资料并反复试验后,自己总结出一套切实可行的安装配置流程,具体如下: 1.下载 MySQL for Linux Generic 二进制版本安装包(.t

  • CentOS Linux更改MySQL数据库目录位置具体操作

    引言: 由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录. 下面我整理一下把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql目录的具体操作: 1.首先我们需要关闭MySQL,命令如下: service mysqld stop 2.然后是转移数据,为了安全期间,我们采用复制命令cp,先找到mysql的原目录 cd /var/lib ls 运行这个命令之后就会看到mysql的目录了,然后

  • CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)运行环境步骤

    一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面功能非常强大的组件. LAMP这个词的由来最早始于德国杂志"c't Magazine",Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字.这些组件并不是开始就设计为一起使用的,但是,这些软件都是开源的,可以很方便的随时获得并免费使用,这就导致了这些组件

  • centos下yum搭建安装linux+apache+mysql+php环境的方法

    一.脚本YUM源安装: 1.yum install wget #安装下载工具wget 2.wget http://www.atomicorp.com/installers/atomic #下载atomic yum源,配置CentOS 6.5第三方yum源 3. sh ./atomic #脚本执行 4. yum check-update #更新yum软件包 二.163yum源的安装 1.进入yum源配置目录 cd /etc/yum.repos.d 2.备份系统自带的yum源 mv CentOS-B

  • centos下yum搭建安装linux+apache+mysql+php环境教程

    我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本YUM源安装: 1.yum install wget                                                     #安装下载工具wget 2.wget http://www.atomicorp.com/installers/atomic       #下载atomic yum源,配置CentOS 6.5第三方yum源 3. sh 

  • Linux CentOS6.6系统中安装mysql源码包的方法

    这里以CentOS6.6系统中安装MySQL的源码包,进行讲解. 1. mysql源码包的下载 mysql安装包的官方下载地址为:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 打开该下载地址后,在 "Select Version:"处,选择要下载的mysql的版本,我选择的是5.6.34:在"Select Platform:"处,选择适用的操作系统类型,由于是下载源码包,故这里我们要选择Source

  • CentOS6.5系统简单安装与配置Nginx服务器的方法

    本文实例讲述了CentOS6.5系统简单安装与配置Nginx服务器的方法.分享给大家供大家参考,具体如下: 依赖包安装 在安装nginx前,需要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件.安装必须软件: [root@admin /]#yum install gcc-c++ yum -y install zlib zlib-devel openssl openssl--devel pcrepcre-devel 检查系统安装的Nginx:

  • CentOS系统中安装MySQL和开启MySQL远程访问的方法

    安装MySQL 安装MySQL和php-mysql [root@sample ~]# yum -y install mysql-server [root@sample ~]# yum -y install php-mysql 配置MySQL [root@sample ~]#vim /etc/my.cnf 编辑MySQL的配置文件 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using

  • 深入分析Android系统中SparseArray的源码

    前言 昨晚想在Android应用中增加一个int映射到String的字典表,使用HashMap实现的时候,Eclipse给出了一个警告,昨晚项目上线紧张,我直接给忽略了,今天看了一下具体的Eclipse提示如下: Use new SparseArray<String> (...) instead for better performance 这个警告的意思是使用SparseArray来替代,以获取更好的性能. 源码 因为SparseArray整体代码比较简单,先把源码展示出来,然后再分析为什么

  • 在docker中安装mysql详解

    在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器,建议可以创建一个包含常用工具的便于自己使用的基本镜像,比如:包含vim.net-tools.添加阿里云镜像 1.安装编译环境 需要gcc.cmake等环经,因为使用ubuntu的官方源较慢,所以要添加阿里云的源,但是注意,不要覆盖原来ubuntu的源,将阿里云的源放在/etc/apt/source

  • 最新Linux系统下安装MySql 5.7.17全过程及注意事项

    1.cd /usr/local/ ##进入local目录 2.cp /home/soft/MySQL-5.7.15-Linux-glibc2.5-x86_64.tar.gz /usr/local/ ##拷贝mysql压缩到local目录 3.cd /usr/local/ ##进入local目录 4.tar -xzvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz ##解压mysql压缩包 5.mv mysql-5.7.15-linux-glibc2.5-x8

  • 详解CentOS 6.5中安装mysql 5.7.16 linux glibc2.5 x86 64(推荐)

    1. 从官网下载 mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz 经测试, 本文还适用于如下版本: MySQL-5.7.10-Linux-glibc2.5-x86_64.tar.gz mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz 官网: http://dev

  • Linux下mysql源码安装笔记

    1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 local]#tar -zxv -f cmake-2.8.4.tar.gz [root@ rhel5 local]#cd cmake-2.8.4 [root@ rhel5 cmake-2.8.4]#./configure [root@ rhel5 cmake-2.8.4]#make [root@

  • Linux系统中安装gcc和kernel-devel的方法

    gcc:liunx环境中的c/c++编译器,安装软件需要它 kernel-devel:linux内核,安装软件时需要编译内核,故需要保持内核版本一致性 1.Linux操作系统安装好以后,查看gcc是否已经安装: # gcc -v //如果后面出现一大段,则已经安装: 2.查看内核是否一致: #uname -r #rpm -q kernel-devel 如果两个命令得到的版本号一致,那么恭喜你可以直接安装Vmware Tools了:不过一般情况下,两个版本是不一致的,或者是提示kernel-dev

  • 在Linux系统中安装Docker的过程

    在这篇博客中,我将引导您通过简单的步骤完成安装 Docker 的过程,安装docker只是小菜一碟,你只需要运行几条命令就大功告成了! 本文用的Linux为Ubuntu,让我们直接开始! 第 1 步:要在 Ubuntu 机器上安装 docker,首先让我们更新软件包. sudo apt-get update 输入密码: 第 2 步:现在在安装 docker 之前,我需要安装推荐的软件包: sudo apt-get install linux-image-extra-$(uname -r) lin

随机推荐