Linux下Mysql8.0的安装 密码修改(123456)以及彻底卸载
安装事项:
我这里环境为centos7
需要有一定的linux基础
Linux下安装Mysql
<1>查看是否有wget插件
[root@localhost hadoop]# wget
wget:未指定 URL
用法: wget [选项]... [URL]...
这说明有wget插件(如果没有则用yum install wget 来安装)
<2>下载rpm包
[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
<3>使用rpm -ivh 加mysql的rpm包 安装rpm包,添加yum源
[root@localhost ~]# rpm -ivh mysql80-community-release-el7-3.noarch.rpm
准备中... ################################# [100%]
正在升级/安装...
1:mysql80-community-release-el7-3 ################################# [100%]
<4>安装mysql的服务端 客户端等…(这里只有指令,执行过程过长就不贴出来了)
[root@localhost ~]yum install mysql-server
[root@localhost ~]yum install mysql
[root@localhost ~]yum install mysql-devel
<5>修改配置文件 vim /etc/my.cnf 在最后添加
character-set-server=utf8
设置简单密码
<1>启动mysql服务(关闭服务吧start换成stop)
service mysqld start**
[root@localhost ~]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
<2>查看初始默认密码
grep “A temporary password” /var/log/mysqld.log
[root@localhost ~]# grep "A temporary password" /var/log/mysqld.log
2020-12-17T14:29:25.084551Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: w6V=p_4Nhkyq
密码:w6V=p_4Nhkyq
<3>进入mysql后不修改初始密码会把以下错误
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
因此我们先修改一次密码(第一次修改的密码会比较复杂因为要满足他的条件)
我这里修改为:4_h5Lj<jjr_b
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '4_h5Lj<jjr_b';
Query OK, 0 rows affected (0.01 sec)
<4>查看mysql 密码策略相关参数;
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
关于 mysql 密码策略相关参数
1)validate_password_length 固定密码的总长度;
2)validate_password_dictionary_file 指定密码验证的文件路径;
3)validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
<5>修改密码策略(参考以上的参数)
mysql> set GLOBAL validate_password.length=6;
Query OK, 0 rows affected (0.00 sec)
mysql> set GLOBAL validate_password.mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set GLOBAL validate_password.number_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set GLOBAL validate_password.policy=LOW;
Query OK, 0 rows affected (0.00 sec)
mysql> set GLOBAL validate_password.special_char_count=0;
Query OK, 0 rows affected (0.00 sec)
<6>修改密码(这样就可以修改密码为123456)
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges; 刷新
Query OK, 0 rows affected (0.00 sec)
测试一下
用exit退出mysql
[root@localhost ~]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.22 MySQL Community Server - GPL
Copyright (c) 2000, 2020, 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
<1>先停止服务
[root@localhost ~]# service mysqld stop
Redirecting to /bin/systemctl stop mysqld.service
<2>使用 rpm 命令的查看安装的mysql
[root@localhost ~]# rpm -qa|grep mysql
mysql-community-common-8.0.22-1.el7.x86_64
mysql-community-client-8.0.22-1.el7.x86_64
mysql-community-server-8.0.22-1.el7.x86_64
mysql-community-devel-8.0.22-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-client-plugins-8.0.22-1.el7.x86_64
mysql-community-libs-8.0.22-1.el7.x86_64
mysql-community-libs-compat-8.0.22-1.el7.x86_64
<3>使用yum进行清除服务
yum remove mysql mysql-server mysql-libs mysql-server
删除:
mysql-community-client.x86_64 0:8.0.22-1.el7 mysql-community-libs.x86_64 0:8.0.22-1.el7 mysql-community-server.x86_64 0:8.0.22-1.el7
作为依赖被删除:
mysql-community-devel.x86_64 0:8.0.22-1.el7 mysql-community-libs-compat.x86_64 0:8.0.22-1.el7 postfix.x86_64 2:2.10.1-9.el7
完毕!
<4>再次查看
[root@localhost ~]# rpm -qa|grep mysql
mysql-community-common-8.0.22-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-client-plugins-8.0.22-1.el7.x86_64
<5>使用rpm -ev 删除上面Mysql对应结果
rpm -ev mysql-community-common-8.0.22-1.el7.x86_64
rpm -ev mysql80-community-release-el7-3.noarch
rpm -ev mysql-community-client-plugins-8.0.22-1.el7.x86_64
<6>使用find / -name mysql查找Mysql相关的目录文件并对应删除
[root@localhost ~]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
用rm -rf 加查询出来的文件路径
[root@localhost ~]# rm -rf /usr/lib64/mysql
[root@localhost ~]# rm -rf /var/lib/mysql/mysql
[root@localhost ~]# rm -rf /var/lib/mysql
[root@localhost ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
使用ls列出目录,看安装源是否存在(有则删除对应文件)
[root@localhost ~]# ls
anaconda-ks.cfg mysql80-community-release-el7-3.noarch.rpm
[root@localhost ~]# rm -f mysql80-community-release-el7-3.noarch.rpm
这样就基本删除干净了
注:我这里并没有对一些东西进行详细的解释,这相当于我个人的一个学习笔记,因此有错误欢迎大家提出,也希望能对大家有所帮助