Red Hat安装MySQL之旅

背景


基于一堆已经在程序界口口相传了很多年的弃Oracle投MySQL的原因,我们的项目也决定“弃暗投明”,将数据库由Oracle迁移到MySQL,那么首要的任务就是在我们的服务器上安装MySQL。在安装过程中,发现网上的一些教程存在如下几个问题:
1、由于教程编写的时间比较早,在这一过程中,随着MySQL版本的不断更新,可能有些地方已经不适用了;
2、有些教程可能作者都没搞明白一些具体细节的含义,导致读者看的云里雾里,并且有些使用方式还存在问题;

因此,觉得有必要写一篇安装日志,来整理下最新的MySQL的安装过程,虽然简单,但是会有些用处。


安装准备


安装环境


我们的Linux服务器的操作系统为:Linux Red Hat Enterprise Linux Server release 6.3 版本 64位

MySQL安装包


我是选择直接下载MySQL的RPM安装包来进行安装。想通过编译源码进行安装的童鞋,可以散场了!

从MySQL官网下载最新发布的MySQL安装包:

http://dev.mysql.com/downloads/mysql/

我选择的是社区版 MySQL Community Server 5.7.13 的Red Hat版本



基于操作系统,选择的是:



Bundle版是一个安装包集合,包含了MySQL服务端、客户端以及所依赖的共享库等全部的安装包文件。



开工安装


首先对所下载的安装包进行加压:

tar -xvf mysql-5.7.13-1.el6.x86_64.rpm-bundle.tar

解压后的目录结构为:



各个安装包分别对应为:

包名说明
mysql-community-clientMySQL客户端程序安装包
mysql-community-commonMySQL服务器与客户端程序常用库文件安装包
mysql-community-develMySQL客户端开发所需的头文件和库文件安装包
mysql-community-embeddedMySQL嵌入式库文件安装包
mysql-community-embedded-develMySQL嵌入式开发所需的头文件和库文件安装包
mysql-community-libsMySQL客户端共享库文件安装包
mysql-community-libs-compatMySQL向前兼容共享库文件安装包
mysql-community-serverMySQL服务器程序安装包
mysql-community-testMySQL测试套件安装包


好!了解了安装包集合下面各个安装包是干嘛的之后,就要开始进行安装了!根据实际的需求,我需要安装:mysql-community-client、mysql-community-common、mysql-community-devel、mysql-community-libs、mysql-community-server 这几个安装包。 这里需要特别指出的是,因为我们的服务器上之前并没有安装过MySQL,也没有现有的程序执行依赖于MySQL,因此,可以不考虑安装mysql-community-libs-compat。但是,若系统中已经安装了MySQL,现在是想安装一个更高版本的话,需要注意的是,不能简单地把之前所安装的MySQL库直接卸载了,因为系统中可能有其他程序依赖于现有的MySQL库,若是直接卸载,可能会导致这些程序无法运行。MySQL给出了解决方法,即安装兼容版本的库mysql-community-libs-compat,这可以保证在不影响程序对老版本库依赖的前提下,安装新版本的MySQL。

前方高能!!!!
不可以直接把操作系统中的老版本共享库卸载了,再安装mysql-community-libs-compat库,原因上面已经说明!但是可以在安装好mysql-community-libs-compat库之后,再把老版本MySQL的共享库删除了,其他程序对老版本共享库的依赖将自动转到兼容库上。


下面进行安装,根据安装包之间的依赖关系,基本安装顺序为:

rpm -ivh mysql-community-common-5.7.13-1.el6.x86_64.rpm;

rpm -ivh mysql-community-libs-5.7.13-1.el6.x86_64.rpm

rpm -ivh mysql-community-client-5.7.13-1.el6.x86_64.rpm

rpm -ivh mysql-community-server-5.7.13-1.el6.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.13-1.el6.x86_64.rpm



安装过程中,基本不会存在问题,唯一需要说明的是,网上有些教程说可以指定安装目录,可以确定的是,通过rpm包进行安装是没法指定安装目录的,会报出如下错误:




通过下载源代码进行编译安装可能允许指定安装目录。



MySQL初探


安装完成后,开始体验下MySQL。


MySQL S erver


首先,启动MySQL服务器,目前MySQL服务器支持三种(或者说四种)启动方式:

1、将MySQL注册成为Linux系统服务进行启动
service mysqld start
或者
systemctl start mysqld

关于Linux系统服务的说明,请参考:





关于systemd的进一步说明,请参考阮一峰老师的博客:

Systemd 入门教程:命令篇


Systemd 入门教程:实战篇


这种启动方式,实际是调用mysqld_safe来启动MySQL服务器。见官网说明




2、通过mysqld_safe来启动

通常的启动命令为:
mysqld_safe --user=xxx &
最终是调用mysqld来启动MySQL服务器,这种启动方式是官方推荐的启动方式,mysqld_safe增加了许多安全特性来保证MySQL的正常运行。见 官网说明



3、通过mysqld来启动

通常的启动命令为:
mysqld start
这种启动方式是直接调用MySQL服务器程序来启动,只适用于MySQL单例启动模式,若是多例启动,则不可以使用此种方式。不推荐!见 官网说明


了解了MySQL服务器启动的方式之后,进而又出现了另外一个问题,登录服务器的用户名和密码。MySQL安装之后,用户使用过程中肯定是要设置自己的登录密码的,所以不管MySQL是否默认为用户设置初始登录密码,我们都需要对密码进行修改,因此我选择直接重置root账户密码(假设我忘记了初始密码,好吧,我确实没注意!)。

采用
mysqld --user=mysql --skip-grant-tables &
来启动MySQL服务器,按照此种方式启动,不需要客户端进行用户名密码验证。具体启动参数的意义通过
mysqld --verbose --help
来查阅



服务器启动后,启动MySQL客户端来修改密码。


MySQL Client


MySQL客户端主要有两种: mysql 和 mysqladmin

mysqladmin
mysqladmin主要是MySQL的管理客户端,主要负责包括增删数据库、增删用户、修改密码等管理服务,在平时的数据库使用过程中很少使用。

mysql
mysql是MySQL的主要使用客户端。基本的数据库操作和开发工作都是在这个客户端完成的


接着上面重置root用户登录密码,通过
mysql -u root
来启动MySQL客户端,因为上面的启动方式,此时不需要密码即可登录MySQL服务器。

然后通过
show databases
即可查看当前MySQL中所包含的数据库


网上很多教程说,修改密码使用
UPDATA mysql.user SET password=PASSWORD(‘新密码’) WHERE user='root';
但是实际使用中,发现这样根本无法修改密码,总是报password这个域名错误



然后果断查看下mysql数据库中user这张表里都有哪些字段域



然后就发现了authentication_string这个可疑字段,怀疑是否是现在这个版本的MySQL已经把password字段替换为authentication_string这个字段了,果断查看之。


一看,里面果然是加密了的,把握更大了,果断试之。

UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE user='root'

果然修改成功了。

重启MySQL服务器,重启MySQL客户端进行登录:
mysql -u root -p
输入密码,登录成功!!耶耶耶!!!



至此,MySQL已经可以正常使用了。但是此时,只是支持在服务器本地登录使用,为了支持远程登录使用,需要再进行些操作。

MySQL关于用户权限的配置,主要都集中在mysql数据库的user表下
use mysql;
select host,user from user;



可以看到,当前只支持root用户和mysql.sys用户在本地登录使用,若想支持远程登录,就需要增加些用户配置
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "密码";
flush privileges;
其中“%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其改成相应的IP即可。



至此,完成了Red Hat Linux服务器上,MySQL的基本配置。

只是作为一次踩坑安装过程的记录,若有问题,欢迎大家指出。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值