Linux下MySQL的安装

来源:互联网 发布:一彩送货单软件 编辑:程序博客网 时间:2024/05/18 02:29

本文介绍一下Linux(CentOS 6.x)下安装MySQL的三种方法:yum安装、rpm安装、源码安装。

1、yum安装

使用yum安装mysql,是最简单的安装方式。
这里假设CentOS源可连接或者已经挂载了本地光盘源。

安装mysql,命令如下:

[root@admin ~]# yum install mysql mysql-server 

mysql代表客户端,mysql-server代表服务端,因为我们需要用客户端去连接服务端,以便能在本地正常的使用mysql服务。
上面的操作如果顺利的话,执行完,我们的mysql就安装好了,但需要注意的是,yum默认安装的是5.1版本的mysql。

启动并验证mysql
yum会自动下载mysql及其服务包并进行安装。安装完成后,启动一下MySQL,验证mysql是否安装成功。

首先启动mysql:
启动mysql服务,这里启动的是一个实例(一个实例下可以有多个库,一个库也可以在多个实例下,这就是我们所说的分库操作。),实例通常监听在3306端口上,这个端口可以人为更改。

[root@admin ~]# /etc/init.d/mysqld start

其次登录mysql:
如果在登录mysql前,没有启动mysql服务,就会报如下错误:

Can't connect to local MySQL through socket '/var/lib/mysql/mysql.socket'

使用root用户登录mysql

 [root@admin ~]# mysql -uroot -p 

这里密码直接回车即可,如果出现了mysql提示符说明已经进入到mysql的某个实例上了,但是还没有连接到某个库上。

然后创建一个test库:

mysql> create database test; 

库创建成功后,查看存在的库,可以看到刚创建的test库。

mysql> show databases; 

库创建完以后,下面就是创建表了。在创建表之前,我们必须进入相应的库下。

mysql> use test; 

给test库创建一个用户:

mysql> grant all privilages on test.* to 'test'@'localhost' identified by '123456';

上面表示创建test库的用户test,密码为123456,并且test用户拥有test库下所有的权限。
此时mysql还是不能使用的,必须flush一下才能使用。

mysql> flush privileges;

测试一下刚创建的用户是否能连接到test库

#先退出mysql,然后使用新创建的用户,测试一下连接mysql[root@admin ~]#quit  [root@admin ~]# mysql -utest -p -hlocalhost

输入密码回车,如果看到mysql提示符(mysql> ),恭喜你mysql连接成功,可以正常使用了。

yum默认安装mysql后,它的配置文件位置是/etc/my.cnf
这里需要注意,如果我们打算以后在我们的数据库表中插入中文,那么我们需要在创建库之前给指定一下库的编码为utf8。
删除之前创建的test库

mysql> drop database test;  

创建一个指定了编码为utf8的新库test

mysql> create database test default character set=utf8;

2、RPM安装

rpm安装包的说明:
MySQL-包类型-版本号-{0|1}.操作系统类型.CPU类型.rpm
例如:MySQL-client-5.6.23-1.el6.x86_64.rpm

rpm安装前的准备:
上传已下载(在mysql官网都能找到这些安装包)好的Mysql客户端和服务端的.rpm包到某个文件夹下。

[root@admin soft]# rz 

选中要上传的包,直接上传即可。如果没有rz命令,先安装

[root@admin soft]# yum install lrzsz

这里写图片描述

开始安装
首先创建mysql账号

[root@admin soft]# groupadd mysql[root@admin soft]# useradd mysql -g mysql

安装MySQL客服端

[root@admin soft]# rpm -Uvh MySQL-client-5.6.23-1.el6.x86_64.rpm

如果顺利的话,就会出现下面的界面,那就表示Mysql服务端已经安装成功了。
这里写图片描述

当然在安装的过程中,不同的环境有可能会报错,依赖失败,这表示缺少某些依赖包,不要慌张,仔细查看一下报错的信息,会告诉你缺少哪些包,然后我们针对缺失的包逐一安装即可(缺什么装什么)。如:

这里写图片描述

从上图可以看出缺失的是libc.so.6依赖包,使用yum安装它。

[root@admin soft]# yum install libc.so.6

等所有的缺失包都安装完毕以后,再执行一次客服端的安装操作即可。
这里提供一个缺失包下载地址:
http://rpmfind.net/linux/rpm2html/search.php?query=libgcc_s.so.1&submit=Search+…&system=&arch=

安装Mysql服务端

[root@admin soft]# rpm -Uvh MySQL-server-5.6.23-1.el6.x86_64.rpm

同样如果顺利的话,就会出现下面的界面:

这里写图片描述

如果安装失败了,rpm安装过程中,失败的原理一般有两个,一个是缺失某些依赖包,还有一个是版本冲突,如下面这样。

这里写图片描述

是在告诉你,现在系统中已经存在一个版本为5.1的Mysql,与新版本冲突了,那么我们就要卸载它。

[root@admin soft]# yum remove mysql-libs-5.1.73-3.el6_5.x86_64

详细的卸载信息请查看另一篇博文“Linux下彻底卸载mysql”
卸载完老版本Mysql后再重新执行一次新版Mysql服务端安装操作即可。
需要注意的是,Mysql-5.6版本rpm安装后,默认密码不为空,在你的安装成功后的系统输出文档中会告诉你具体密码存放地。

这里写图片描述

查看一下默认密码

这里写图片描述

切换Mysql用户,然后启动Mysql服务

[root@admin soft]# su - mysql[mysql@admin ~]$ service mysql startStarting MySQL. SUCCESS!

登录进去修改root的默认密码为root

这里写图片描述

至此,rpm安装Mysql就结束啦。
rpm安装成功以后,Mysql的basedir目录默认是在/var/lib下。

3、源码安装

源码安装使用的都是源码包,类似于xxx.tar.gz。
此处使用mysql-5.6.23.tar.gz的源码包,进行源码安装演示。源码安装具有更好的跨平台、可定制、一个服务器可以安装多个版本等优点。缺点是安装过程复杂,编译时间长。

首先清理之前RPM安装产生的历史文件(如果装过,详见另一篇博文Linux下彻底卸载mysql)

查看当前系统中存在的mysql

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

停止mysql服务,然后卸载这些文件

[root@admin ~]# service mysql stop

源码安装包,需要编译后才能安装,但是从MySQL5.5以后,编译环境就有所变化,需要首先安装编译环境与安装依赖包。
编译环境需要安装的有cmake、automake、autoconf。另外MySQL5.6.x需要最少安装的包有:bison,gcc,gcc-c++,ncurses-devel。一次性安装以上的所有包:

[root@admin ~]# yum –y install cmake automake autoconf bison gcc gcc-c++ ncurses-devel

针对上面的包,如果已经存在的就会略过,没有的会直接安装。
解压源码包,解压前先将源码包放在一个固定的软件目录中,方便后期管理。

[root@admin mysql]# tar -zxvf mysql-5.6.23.tar.gz

解压完以后,进入解压后的目录mysql-5.6.23中

[root@admin mysql]# cd mysql-5.6.23

构建解压后的mysql程序

[root@admin mysql]# cmake .

注意cmake后面有一个点(.)
最后,编译安装MySQL软件,会按照你的配置文件来编译安装MySQL,比如会生成/usr/local/mysql目录等。

[root@admin mysql]# make && make install

如果中途没有报错,那恭喜你,MySQL安装成功啦。
但是需要注意的是,虽然我们安装成功了,但是还有很多后续的工作需要做,因为现在还没有my.cnf文件,不能使用service mysql start命令,没有mysql数据目录,mysql常用命令都使用不了等。下面我们来开始完善这些工作。

生成my.cnf文件

[root@admin mysql]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

生成可以使用的service mysql start命令的mysql文件

[root@admin mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

生成mysql工具

[root@admin mysql]# cp /usr/local/mysql/bin/mysql /usr/bin/mysql

创建mysql数据目录

[root@admin mysql]# mkdir -p /ROOT/data/mysql

对该目录赋权

[root@admin mysql]# chown -R mysql.mysql /ROOT/data/mysql

重点是生成mysql初识化数据

[root@admin mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/ROOT/data/mysql

最后修改my.cnf文件

[root@admin mysql]# vi /etc/my.cnf

这里写图片描述

启动mysql数据,验证一下配置的正确性

[root@admin mysql]# service mysql start

如果顺利的话,你就会看到下面的界面

这里写图片描述

这表示mysql启动成功,可以开始使用啦。
注意源码安装的mysql的basedir目录默认是/usr/local下。
当然你也有可能在启动过程中遇到一些报错,如:

这里写图片描述

这错误表示启动mysql的权限不够,查看一下/etc/init.d/目录下mysql的权限

[root@admin mysql-5.6.23]# cd /etc/init.d/

这里写图片描述

发现果然是权限不够
给授予可执行的权限

[root@admin init.d]# chmod 755 mysql

再次启动mysql服务,成功啦,兴奋啊~~~。

这里写图片描述

0 0
原创粉丝点击