rpm包安装mysql的弊端,记录RPM包安装MySQL

本文详细介绍了如何通过RPM包在Linux系统中安装MySQL,包括下载RPM安装包、解压、删除旧版本、解决依赖问题以及配置和启动MySQL服务。在安装过程中,强调了文件安装顺序和解决缺少依赖包的问题,并提供了设置初始密码的方法。最后,文章还提及了修改my.cnf配置文件以确保UTF8编码。
摘要由CSDN通过智能技术生成

mysql安装方式有三种,本文记录一下RPM包的安装过程。

首先,在官网下载MySQL的RPM安装包,

传送门:https://dev.mysql.com/downloads/mysql/

3e46b0c88200

向下滑动,在Select Operating System下拉列表中找到Red Hat Enterprise Linux / Oracle Linux选项,待下面的列表刷新后选择Bundle版本下载即可:如下

3e46b0c88200

点击下载按钮,跳转到如下界面:

3e46b0c88200

右键点击上图中红圈内的超链接,选择复制链接地址。在服务器中使用wget命令+复制得到的链接地址就可以下载RPM安装包了。

下载完成后,使用tar命令解压该压缩文件。

tar -xvf mysql-8.0.12-1.el7.x86_64.rpm-bundle.tar

得到如下文件:

mysql-community-client-8.0.12-1.el7.x86_64.rpm

mysql-community-common-8.0.12-1.el7.x86_64.rpm

mysql-community-devel-8.0.12-1.el7.x86_64.rpm

mysql-community-embedded-compat-8.0.12-1.el7.x86_64.rpm

mysql-community-libs-8.0.12-1.el7.x86_64.rpm

mysql-community-libs-compat-8.0.12-1.el7.x86_64.rpm

mysql-community-minimal-debuginfo-8.0.12-1.el7.x86_64.rpm

mysql-community-server-8.0.12-1.el7.x86_64.rpm

mysql-community-server-minimal-8.0.12-1.el7.x86_64.rpm

mysql-community-test-8.0.12-1.el7.x86_64.rpm

在使用rpm命令安装前,需要删除电脑中存在的旧版本MySQL或者MariaDB。

使用如下命令查看是否安装了mysql:

rpm -qa | grep mysql

如果存在,使用rpm -e命令删除掉即可,同时删除/usr/share/mysql、/var/lib/mysql文件夹和/etc/my.cnf文件。MariaDB的检测方法同MySQL。

我们还要保证系统中的mysql用户对/var/lib/mysql文件夹的拥有操作权限,否则安装成功后可能会丢失mysql.sock文件或出现权限错误。如果没有mysql用户组自行创建即可。修改权限语句如下:

chown -R mysql:mysql /var/lib/mysql

以上操作完成后便可以开始安装mysql,安装命令如下:

rpm -ivh mysql-community-common-8.0.12-1.el7.x86_64.rpm

RPM安装MySQL需要注意文件的安装顺序,我们只需安装四个文件即可。common、libs、client、server,安装顺序同此,否则会报类似于下面的错误:

error: Failed dependencies:

mysql-community-client(x86-64) >= 8.0.0 is needed by mysql-community-server-8.0.12-1.el7.x86_64

mysql-community-common(x86-64) = 8.0.12-1.el7 is needed by mysql-community-server-8.0.12-1.el7.x86_64

安装server时,可能报如下错误:

error: Failed dependencies:

libaio.so.1()(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64

libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64

libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64

造成上述问题的原因就是缺少依赖包。

解决方法:复制下面传送门的链接地址,在服务器上面使用wget命令获取libaio的RPM安装包。libaio安装成功后即可重新安装server。

传送门:http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm

MySQL安装成功后,我们准备进行登录。

首先,配置MySQL的配置文件my.cnf

vim /etc/my.cnf

添加如下配置(修改mysql的编码字符,统一为utf8):

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

[client]

default-character-set = utf8

[mysql]

default-character-set = utf8

注意:在配置文件的[mysqld]标签中使用如下配置会报错使MySQL无法启动,具体原因不清楚,如果有了解的可以分享一下。

[mysqld]

character_set_server=utf8

character_set_client=utf8

collation-server=utf8_general_ci

设置登录密码:在网上看到了很多种方法,比如使用mysql_install_db --datadir=/var/lib/mysql命令生成密码文件,使用mysqld_safe --skip-grant-tables &命令绕过验证机制,但在实践的过程中都没有成功,故使用另外一种方法,使用mysqld --initialize命令,在mysql的log文件/var/log/mysqld.log中生成随机密码,log文件记录格式如下:

2018-10-10T03:37:16.145163Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: )oS7hwW2Yw2g

启动mysql服务

systemctl start mysqld.service

使用上面的随机密码登录进入MySQL:

[root@noteclass data]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 9

Server version: 8.0.12

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

接下来我们要修改密码,否则我们没有权限来操作这个数据库,在数据库中执行如下MySQL命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

设置完毕后,以后就可以使用新密码登录MySQL了,至此,安装结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值