数据库

黑猴子的家:MySQL 8.0.19 在 Centos7.x L

2020-03-01  本文已影响0人  黑猴子的家

1、查看Linux版本

[root@centos102 ~]# cat /etc/centos-release
CentOS Linux release 7.3.1611 (Core) 

[root@centos102 ~]# uname -r
3.10.0-514.el7.x86_64

[root@centos102 ~]# uname -a
Linux centos102 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

2、下载 mysql 8.0.19版本

1)Downloads
2)社区版下载
3)mysql window 安装包
4)Download

3、卸载系统自带mysql

目的:清理环境

1)关闭mysql服务
[root@hadoop102 ~]# systemctl status mysql
[root@hadoop102 ~]# systemctl stop mysql

尖叫提示:卸载用root用户

2)查看
[root@hadoop102 ~]# rpm -qa | grep -i mysql
[root@hadoop102 ~]# rpm -qa | grep -i mariadb
3)卸载全部查询出来的
[root@hadoop102 ~]# yum -y remove mysql-* …….. 
[root@hadoop102 ~]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64

尖叫提示:卸载的时候尽量别用“*”号,使用全称。

4) 删除分散mysql文件夹,删除查询出来的
[root@hadoop102 ~]# whereis mysql
[root@hadoop102 ~]# rm -rf /usr/lib/mysql/  
[root@hadoop102 ~]# rm -rf /usr/share/mysql  
[root@hadoop102 ~]# rm -rf /etc/my.cnf
[root@hadoop102 ~]# rm -rf /var/lib/mysql
[root@hadoop102 ~]# rm -rf /root/.mysql_sercret …….

尖叫提示:rm -rf /var/lib/mysql(如果这个目录如果不删除,再重新安装之后,密码还是之前的密码,不会重新初始化!)

[root@hadoop102 ~]# find / -name mysql*
[root@hadoop102 ~]# rm -rf  ****
5)检查一下是否删除干净
[root@hadoop102 ~]# rpm -qa | grep -i mysql
[root@hadoop102 ~]# rpm -qa | grep -i mariadb
[root@hadoop102 ~]# whereis mysql
[root@hadoop102 ~]# find / -name mysql*

4、安装mysql

1)添加mysql用户
[root@hadoop102 ~]# id mysql 
[root@hadoop102 ~]# userdel -r mysql 
[root@hadoop102 ~]# useradd mysql
[root@hadoop102 ~]# passwd mysql

尖叫提示:这一步一定要做

2)解压
[root@centos102 ~]# cd /opt/software
[root@centos102 software]# mkdir mysql8.0.19
[root@centos102 software]# tar -xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar -C mysql8.0.19/
3)赋予权限和所属用户用户组
[root@centos102 software]# chown -R mysql.mysql mysql8.0.19/
[root@centos102 software]# chmod -R 755 mysql8.0.19/
4)安装
[root@centos102 software]# cd mysql8.0.19/
[root@centos102 mysql8.0.19]# rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm 
[root@centos102 mysql8.0.19]# rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm 
[root@centos102 mysql8.0.19]# rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm 
[root@centos102 mysql8.0.19]# rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm 
[root@centos102 mysql8.0.19]# rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm 

尖叫提示
可以通过rpm -ivh --nodeps --force mysql-community-common-8.0.19-1.el7.x86_64.rpm命令安装,--nodeps表示不检查依赖,--force表示强制安装

5)修改配置文件
[root@centos102 mysql8.0.19]# vim /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用"mysql_native_password"插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
6)初始化mysql
[root@centos102 mysql8.0.19]# mysqld --initialize --console
7)修改用户和用户组
[root@centos102 mysql8.0.19]# chown -R mysql:mysql /var/lib/mysql
8)启动和查看状态
[root@centos102 mysql8.0.19]# systemctl start mysqld
[root@centos102 mysql8.0.19]# systemctl status mysqld
9)设置开机运行
[root@centos102 mysql8.0.19]# systemctl enable mysqld
10)查看mysql密码
[root@centos102 mysql8.0.19]# grep 'temporary password' /var/log/mysqld.log
[root@centos102 mysql8.0.19]# cat /var/log/mysqld.log | grep password

尖叫提示:发现临时密码pkdMHq+KK8IE

11)登陆并修改密码
[root@centos102 mysql8.0.19]# mysql -uroot -ppkdMHq+KK8IE
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'YingGu123456!';
mysql> flush privileges;
mysql> exit;
12)打开3306端口防火墙
[root@centos102 mysql8.0.19]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
13)授权远程登陆
[root@centos102 mysql8.0.19]# mysql -uroot -pYingGu123456!
mysql> create user 'root'@'%' identified by 'root';
mysql> grant all privileges on *.* to 'root'@'%';
mysql> flush privileges;
mysql> exit;

5、mysql 忘记密码

1)编辑my.cnf文件

跳过mysql密码验证

[root@centos102 mysql8.0.19]# vim /etc/my.cnf
[mysqld]
skip-grant-tables
2)重启mysql服务
[root@centos102 mysql8.0.19]# systemctl restart mysqld
3)登陆mysql
[root@centos102 mysql8.0.19]# mysql
4)修改密码
mysql> show databases;
mysql> use mysql;
mysql> show tables;
mysql> desc user;
mysql> select host,user,authentication_string from user;
mysql> update user set authentication_string='*6FCCB6E8142272A675BF0E28A32449C418B52BD1',host='%' where user = 'root';
mysql> flush privileges;
mysql> quit;

尖叫提示:这时候密码就变成YingGu123456!了

上一篇 下一篇

猜你喜欢

热点阅读