centos8重装MySQL8

我的个人网站 www.ryzeyang.top

内容概览
centos8上卸载并重装MySQL8

额 本来也不想卸载的,因为之前有往db里插入一千多万的数据了。。但是这个数据库好像被我弄坏了。。 输入正确的账号密码一直进不了 很无奈。。 ????
一开始是启动不了,后来发现用户的权限不对(要通过chgrp和chown去修改),改了之后可以启动,但是就无法登录成功了。。出此下策,顺便换个方式再去插入数据试试 ????

卸载

  1. 之前是用yum安装的,现在通过yum去卸载yum remove -y mysql
  2. find / -name mysql 找到残留的文件,再通过rm -rf去删除对应的文件

centos8重装MySQL8

安装

  1. MySQL官网下载 对应的rpm包
  2. yum localinstall mysql80-community-release-el8-1.noarch.rpm
  3. yum update
  4. yum install mysql-server
  5. 查看mysql安装是否成功 ps -ef | grep mysql

启动

  1. 启动 systemctl start mysqld
  2. 开机启动 systemctl enable mysqld
  3. 查看mysqld状态 systemctl status mysqld
    centos8重装MySQL8

修改root用户密码

  1. 一开始是没密码就可以登入的,我们只需要输入 mysql 就可以进入,

  2. 接着我们要修改root用户的密码,通过 alter user 'root'@'localhost' identified by 'password';修改root用户的密码。

  3. flush privileges 刷新权限

    下次就需要登入密码啦。????

创建用户并授权

  1. create user 'user'@'%' identified by 'password' 这里创建的用户可以通过外网访问本地的数据库,只允许本地的话就用localhost不用%
  2. grant all privileges on *.* to 'user'@'%'; 这里是授权所有数据库的权限,可以通过GRANT All ON 数据库名.* TO 'ryzeyang'@'%';将相应database的权限授权给用户
  3. 最后一定要去执行 flush privileges 刷新权限,然后新创建的用户才可以连接上。
    通过该命令select host,user,authentication_string from user;可以看到root用户的密码不为空了。
    centos8重装MySQL8

最后

先ping下linux看通不通,在navicat15上试试新用户可不可以成功连接就行啦。
如果ping通但是连不上,那要看看这个防火墙关了没,或者把3306这个端口给暴露出来就行了(博主使用的是这种方式。)

查看防火墙状态

service firewalld status
centos8重装MySQL8

暴露3306端口

  1. firewall-cmd --zone=public --add-port=3306/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
  2. 重启 firewall-cmd --reload

连接成功如下????

centos8重装MySQL8