linux下安装mysql

本文详细介绍了如何在Linux环境下安装MySQL5.7版本,包括创建目录、上传安装包、解压、安装必要的RPM包、初始化MySQL以及启动服务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 首先,就是要下载,看下面3张图:

    Linux系统下以RPM方式安装mysql-5.7.9
    Linux系统下以RPM方式安装mysql-5.7.9
    Linux系统下以RPM方式安装mysql-5.7.9
  2. 3

    我先在Linux根目录建了一个test目录,执行命令:mkdir /test。然后把下载的安装包传到这个目录中,至于怎么传,我就不讲了,因为教程太多了。我们进入这个目录,执行命令:cd /test。执行解包命令:tar -xvh mysql-5.7.9-1.el7.x86_64.rpm-bundle.tar。在输入安装包名字的时候,记得使用Tab键来进行命令补全,不然你逐个敲就太浪费时间了。

    解包之后,说实在的,我也有点头大。我勒个去,居然有12个RPM包!不过,不要紧,我们再来回顾一下官方文档中的这句话:

    在大多数情况下,你只需要安装MySQL-server和MySQL-client安装包就可以安装上一个标准功能的MySQL。对于一个标准安装来说,其他的安装包不是必需的。

    怎么样,明白了吧?我们需要安装的是mysql-community-client-5.7.9-1.el7.x86_64.rpm和mysql-community-server-5.7.9-1.el7.x86_64.rpm。当然为了不浪费口舌,我就直接说了。安装时候会提示与已经安装的RPM包有冲突,所以我们先卸载一些RPM包,要卸载哪些呢?我们要卸载的是包含有mariadb关键字的RPM包,执行命令:rpm -qa|grep mariadb来查看一下我们要卸载哪些软件,看下图:

    Linux系统下以RPM方式安装mysql-5.7.9
  3. 4

    既然知道了是哪些RPM包,就开始卸载吧!执行命令:

    rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64

    rpm -e --nodeps mariadb-server-5.5.41-2.el7_0.x86_64

    rpm -e --nodeps mariadb-5.5.41-2.el7_0.x86_64

    看下图:

    Linux系统下以RPM方式安装mysql-5.7.9
  4. 卸载完了,我们就开始安装吧!安装前,先讲一下,虽然官方文档说安装mysql-community-client-5.7.9-1.el7.x86_64.rpm和mysql-community-server-5.7.9-1.el7.x86_64.rpm就可以获得标准功能的MySQL。但是由于RPM包的依赖关系,所以实际上我们还要多装2个RPM包:mysql-community-common-5.7.9-1.el7.x86_64.rpm和mysql-community-libs-5.7.9-1.el7.x86_64.rpm。依次执行命令:

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

    rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm

    rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm

    rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm

    注意:是依次执行,不要乱了顺序,因为它们之间有依赖关系。看下面4张图:

    Linux系统下以RPM方式安装mysql-5.7.9
    Linux系统下以RPM方式安装mysql-5.7.9
    Linux系统下以RPM方式安装mysql-5.7.9
    Linux系统下以RPM方式安装mysql-5.7.9
  5. 这样我们就把MySQL安装好了,当然最重点的地方也就来了,那就是初始化。来吧,又到了官方文档时间段了,看下图,图中英文翻译过来就是:

    在Unix和Unix系列系统中,有一点是很重要的,那就是确保数据库目录与文件的所有者为mysql登录账户,以便在你运行mysqld服务的时候,mysql服务可以对这些目录和文件进行读取与写入操作。如果你是以root身份运行mysqld服务,就需要确认一下,执行如下面显示的包含有--user选项的命令:

    shell> bin/mysqld --initialize --user=mysql

    shell> bin/mysqld --initialize-insecure --user=mysql

    另外,当你是以mysql的账户登录并执行程序的情况下,你可以将--user选项从命令中去掉。

    所以我在前面提到过添加mysql用户和mysql用户组,当然这步操作可做可不做。通过官方文档我们可以知道,如果我是root身份登录Linux系统,可以执行:mysqld --initialize --user=mysql或者mysqld --initialize-insecure --user=mysql。如果我是以mysql用户登录Linux系统,可以执行:mysqld --initialize或者mysqld --initialize-insecure。

    Linux系统下以RPM方式安装mysql-5.7.9
  6. 再来看官方文档,看下图,图中英文翻译过来就是:

    不管在哪个平台上,使用--initialize选项就是以“默认安全模式”来进行安装的(即包含一个随机的root初始密码的生成)。在这种情况下,密码是被标志为过期的,你需要选择一个新的密码。使用--initialize-insecure选项,没有root密码生成;如果是这样的话,在服务器投入生产使用之前,你需要及时地为账户指定密码。

    通过官方文档我们可以知道,使用--initialize会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root -p,然后输入密码来登录MySQL。使用--initialize-insecure不会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root --skip-password直接登录MySQL。

    Linux系统下以RPM方式安装mysql-5.7.9
  7. 初始化的操作我们要在/usr/bin目录中进行,所以我们先进入/usr/bin目录:cd /usr/bin。

    然后,我是以root身份登录Linux系统的,并且我想为root账户生成一个随机的初始密码,所以我要执行命令:mysqld --initialize --user=mysql;这样就完成了对MySQL的初始化,并为root账户生成了一个随机的初始密码。

    Linux系统下以RPM方式安装mysql-5.7.9
  8. 我们来对上一步来作个补充,因为你有可能会用到,还是来看官方文档,看下图,图中英文翻译过来就是:

    mysqld服务会检查数据目录是否存在,如下:

    如果数据目录不存在,mysqld则会创建它。

    如果数据目录存在,且不是空目录(即包含有文件或子目录),mysqld会显示一条错误信息并中止:

    [ERROR] --initialize specified but the data directory exists. Aborting.

    遇到这种情况,就将数据目录删除或重命名后,重新再试一次。

    我来简单说明一下,也就是在初始化之前,先检查一下数据目录是否存在,执行命令:ls  -l  /var/lib|grep mysql。若有,则执行命令:

    rm  -rf  /var/lib/mysql,将其删除;

    或者执行命令:mv  /var/lib/mysql   /var/lib/newname,将其重命名为newname,就可以了。

    Linux系统下以RPM方式安装mysql-5.7.9
  9. 下面我们来看下root账户的随机初始密码,执行命令:

    vi  /var/log/mysqld.log

    下图红线框中的字符就是密码,把它记下来,登录MySQL的时候要用:

    Linux系统下以RPM方式安装mysql-5.7.9
  10. 现在可以启动mysqld服务了,执行命令:

    systemctl  start  mysqld

    我们来看下mysqld是否已经启动了,执行命令:

    systemctl  status  mysqld

    如果看到的和下图一样,就说明已经启动了:

    Linux系统下以RPM方式安装mysql-5.7.9
  11. 我们来对上一步作个补充,因为你也有可能会遇到。如果你在执行命令:

    systemctl  start  mysqld时,出现了和下图一样的提示:

    Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.

    出现这样的错误提示,我们先查看一下/var/lib/mysql-files目录是否存在,执行命令:ls  -ld  /var/lib/mysql-files。如果不显示任何信息就表示不存在,执行命令:mkdir  /var/lib/mysql-files,创建/var/lib/mysql-files目录。这时,我们试着执行命令:systemctl  start  mysqld。如果还出现和下图一样的提示,我们执行另一条命令:chown -R mysql:mysql  /var/lib/mysql,将/var/lib/mysql目录及其下所有文件和子目录的所有者和所属组都改为mysql。我们再执行一下:systemctl  start  mysqld应该就可以启动mysqld服务了。

    Linux系统下以RPM方式安装mysql-5.7.9
  12. 准备工作全部就绪,来吧,登录吧!执行命令:mysql  -u  root  -p。要注意输入密码是不显示的,不是你的键盘有问题,而是Linux的一种安全机制,只管输入就行。看下图:

    Linux系统下以RPM方式安装mysql-5.7.9
  13. 最后还要讲下怎么修改密码,从官方文档中我们了解到要用ALTER USER语句可以修改密码。登录MySQL后,执行语句:

    alter user 'root'@'localhost'  identified  by  'mYsqL$%123';

    就将root账户的密码修改为mYsqL$%123了。

    有一点需要注意,MySQL对用户密码安全性有所加强,所以设置的密码必须包含有数字,大写字母,小写字母,特殊符号,如果你设置的密码过于简单,会提示:

    ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

    至此,所有工作就完了。最后不禁要感慨一下:真后悔当初没好好学英语啊!好好学英语吧,童鞋们!

    Linux系统下以RPM方式安装mysql-5.7.9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值