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!了