redHat7.0 linux安装mysql

RedHat7.0 (Linux) 安装mysql

(mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar)

  • 网上有很多资料关于安装的,但由于版本问题,困扰许久
  • 本文提供 readHat7.0及相应的mysql,可到相应的百度云盘下载
  • https://pan.baidu.com/s/15dPTThydeJOLOreMWVeaCQ
  • *** 提取密码:34hr **

这里写图片描述

  1. 安装步骤如下:
    在 /home下新建 mysql目录。将 mysql压缩包传入到该文件下。可通过WinSCP
    传入到该文件夹下(不再赘述)!

  2. 首先先查看是否已经安装了mysql ,执行命令 rpm -qa|grep mysql

  3. 如果什么都没显示说明没有安装过,如果已经安装了Mysql就先卸载执行命令 rpm -e --nodeps xxxxxxxx(xxxxxx为已经安装的rpm)

  4. 查看是否安装mariadb 系统自带的,之前安装的时候和mysql冲突,所有不用这个数据库的话也可以卸载,查看是否安装rpm -qa|grep mariadb,卸载执行rpm -e --nodeps xxxxxxxxxx

  5. 接下里进入 /home/mysql 命令:cd /home/mysql

  6. 解压 tar -xf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar

  7. 演示图这里写图片描述

  8. 解压之后又很多文件,我们只需要安装
    (**注意:**下面这个图只看顺序就好了, 图片上是5.7.10.xxx, 实际上在执行命令的时候,要 替换成上图红色文字部分,只是版本变一下。下图只是展示安装顺序。)这里写图片描述

  9. 命令如下:(因为包的依赖管理,注意要按上面的顺序执行)
    rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm

  10. 安装完后开始初始化数据库,进入/usr/bin

  11. 执行命令mysqld --initialize --user=mysql 或者mysqld --initialize-insecure --user=mysql

  12. 第一个命令是为root用户随机生成一个登陆密码,登陆时执行名mysql -u root -p,密码在/var/log/mysqld.log文件中可以查看(这里使用第一种方式安装)

root@localhost: f2*9Pw7smb/9
密码就为: f2*9Pw7smb/9
  1. 第二个命令不会为root用户生成密码,登陆时执行mysql -u root--skip-password在初始化过程中可能会出现[ERROR] --initialize specified but the data directory exists. Aborting.

遇到这种情况,就将数据目录删除或重命名后,重新再试一次。
我来简单说明一下,也就是在初始化之前,先检查一下数据目录是否存在,执行命令:ls -l /var/lib|grep mysql。若有,则执行命令:

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

显示开始启动Mysql服务,执行命令 systemctl start mysqld

如果启动不起来,有可能是你的seliunx阻止了,进入/etc/seliunx/config 修改SELIUNX为disabled

然后在启动服务,启动后执行命令mysql -u root -p
输入密码就可登陆成功。

这里写图片描述
这里写图片描述

  • 设置远程访问:
grant all privileges on *.* to 'root'@'%' identified by 'Crazy1234567';
为root用户设置允许远程访问, 密码为 Crazy1234567
flush privileges;
解释: 
grant 权限1,权限2,...权限n on  数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';
权限1,权限2..权限n代表14种权限,分别为:select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等。
all privileges代表赋予用户所有全部权限。
数据名称.表名称,如果用*.*表示,说明赋予用户服务器上所有数据库所有表的权限。
用户地址可以是localhost,可以使ip地址、机器名字、域名。也可以用'%'表示任何地址连接。
'连接口令'不能为空,否则会赋予权限失败。
eg:grant all privieges on *.* to root@localhost identified by '123123'
意思是用给来自本机localhost的用户分配权限,用root/123123密码登陆所有数据库中的所有表

附上一个最终成功的截图:

在这里插入图片描述

  • 最后,本人安过好几次,都成功了,前提是用这个文中提供的镜像和mysql版本,别的版本的没试。
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值