Centos7彻底卸载mysql以及通过yum安装mysql的步骤


一、彻底卸载mysql

  1. 查看时候有安装的mysql:
rpm -qa | grep -i mysql // 查看命令1`

centos9 mysql 直接删除binlog yum删除mysql_yum源

yum list install mysql* // 查看命令2

centos9 mysql 直接删除binlog yum删除mysql_修改密码_02


2. 卸载mysql的安装包:(使用root用户删除)

yum remove mysql mysql-server mysql-libs compat-mysql51
yum remove mysql-community-release
//使用yum remove 安装包名  删除所有的安装包(建议使用第一种的查询方式之后删除)
rpm -e --nodeps mysql-community-libs-5.7.22-1.el7.x86_64
rpm -e –nodeps mysql57-community-release-el7-11.noarch
  1. 删除残留的mysql目录或文件:

查询mysql的安装目录

whereis mysql  //方法一

centos9 mysql 直接删除binlog yum删除mysql_mysql_03

find / -name mysql  //方法二(使用root用户查询,否则权限不够)

centos9 mysql 直接删除binlog yum删除mysql_修改密码_04


此处除了opt目录下的,其余的目录都删除。

删除查询出来的目录:

rm -rf /etc/logrotate.d/mysql
rm -rf /var lib/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
...
  1. 删除mysql配置文件:
rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret
  1. 删除mysql开机自动服务:
systemctl disable mysqld.server

二、安装mysql

  1. 下载并安装mysql的yum源:

/opt/module/目录下创建新的目录下载yum源以及安装yum源

mkdir mysql
cd mysql
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm // 下载mysql yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm // 安装yum源
  1. 安装mysql:

安装mysql

yum install mysql-community-server

安装mysql成功

centos9 mysql 直接删除binlog yum删除mysql_centos7卸载干净mysql_05


3. 首次启动mysql:我们需要修改/etc/my.cnf文件,在[mysqld]后面任意一行添加skip-grant-tables用来跳过密码验证的过程。(此处我后来将其注释掉了)

centos9 mysql 直接删除binlog yum删除mysql_yum源_06


之后保存文档并退出:wq

之后我们启动mysql:

centos9 mysql 直接删除binlog yum删除mysql_mysql_07


首次启动mysql,我们不需要使用密码。

4. 修改密码:

修改密码步骤:

use mysql;
update mysql.user  set password=password('root') where user='root'; //此方法会报错
update mysql.user set authentication_string=password('root') where user='root'; //正确方法

使用此方法会报错,提示ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’,原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
所以更改语句替换为update mysql.user set authentication_string=password(‘root’) where user=‘root’ ;即可

此处修改密码如果报错:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before

表示密码过于简单,所以我们需要修改mysql的密码设置(此处需要在最开始的时候设置,就是在/etc/my.cnf配置文件中没有添加skip-grant-tables之前使用。)

  1. mysql5.6是密码为空直接进入数据库的,但是mysql5.7就需要初始密码

cat /var/log/mysqld.log | grep password

centos9 mysql 直接删除binlog yum删除mysql_centos7安装mysql_08

  1. 然后执行 mysql -uroot -p ,输入上面的到的密码进入,用该密码登录后,必须马上修改新的密码,不然会报如下错误:

mysql> use mysql;ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

3.如果你想要设置一个简单的测试密码的话,比如设置为123456,会提示这个错误,报错的意思就是你的密码不符合要求

mysql> alter user 'root'@'localhost' identified by '123456';ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

必须修改两个全局参数:
修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;Query OK, 0 rows affected (0.00 sec)

修改validate_password_length(密码长度)参数,默认为8,我们修改为1

mysql> set global validate_password_length=1;Query OK, 0 rows affected (0.00 sec)

  1. 完成之后再次执行修改密码语句即可成功

mysql> alter user 'root'@'localhost' identified by '123456';Query OK, 0 rows affected (0.00 sec)

  1. 修改mysql配置文件:

编辑my.cnf文件删掉skip-grant-tables 这一行,然后重启MySQL

systemctl start mysqld.server

否则MySQL仍能免密码登录。

  1. 再次登录mysql:

然后输入密码即可登录mysql数据库(先开启mysql服务systemctl start mysqld)

centos9 mysql 直接删除binlog yum删除mysql_修改密码_09