Centos7安装Mysql8(两种安装方式)超级详细
一,命令安装
1.配置Mysql 8.0安装源:rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
[root@localhost home]# rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
获取https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
警告:/var/tmp/rpm-tmp.HgXxlP: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql80-community-release-el7-1 ################################# [100%]
[root@localhost home]#
2,装Mysql 8.0:yum --enablerepo=mysql80-community install mysql-community-server
yum --enablerepo=mysql80-community install mysql-community-server
安装 3 软件包 (+3 依赖软件包)
总下载量:490 M
Is this ok [y/d/N]: y
出现提示输入 y 即可
3,以下都选y
Is this ok [y/d/N]:y
complete
看到complete就是安装完啦
3.启动mysql服务
service mysqld start
4,查看运行状态:
service mysqld status
4.查看root临时密码:
[root@localhost home]# grep "A temporary password" /var/log/mysqld.log
2021-08-10T10:03:56.760945Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: =kKRWb.Vy7OP
5.更改临时密码:
第一件事就是改成我自己容易记得密码啦。先用临时密码登录mysql
输入:mysql -uroot -p 复制刚才查看的密码登入即可
[root@localhost hyh]# mysql -u root -p
Enter password:后面输入密码,注意输入密码的时候是看不到的,输完回车就行。
如果想要查看MySQL完整的初始密码规则,登陆后执行以下命令:
SHOW VARIABLES LIKE 'validate_password%';
1-validate_password.length 是密码的最小长度,默认是8,我们把它改成4
mysql> set global validate_password.length=4;
2-validate_password.policy 验证密码的复杂程度,我们把它改成0
mysql> set global validate_password.policy=0;
3-validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它去掉
mysql> set global validate_password.check_user_name=off;
现在再执行修改密码的命令:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
配置远程访问
用mysql客户连接报不允许连接的错误,那是因为没开通远程访问的权限
root的host是localhost,不是%哦,那我们就加个host是%的root账号:
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
然后再执行:
GRANT ALL ON *.* TO 'root'@'%';
7.navicat连接mysql 用navicat连接mysql还是会报错:
原因是mysql8的加密方式规则不一样,是caching_sha2_password
把加密方式改成mysql_native_password就行了:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
加密方式以及改成了mysql_native_password: (连接成功)!!!
注意:连接不成功就是你防火墙打开的,或者3306端口没打开
关闭防火墙,打开3306端口连接成功!!!
MySQL开机自启动:
systemctl enable mysqld.service
删除系统自带数据库:卸载原有mariadb
rpm -qa | grep mariadb 查询
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 删除
二,Mysql官网下载安装
Mysql官网下载:https://dev.mysql.com/downloads/mysql/
1,rz命令上传到/home目录
[root@localhost ~]# rz
2解压
[root@localhost home]# tar -zxvf mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar
3关闭selinux:
setenforce 0
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
4删除系统自带数据库:
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
5安装MySQL8数据:
rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm
6初始化数据库:
mysqld --initialize --console --user=mysql
chown -R mysql:mysql /home/huimou/mysql
7启动数据库
systemctl start mysqld
8设置数据库自启动
systemctl enable mysqld.service
9查看数据库初始密码
cat /var/log/mysqld.log | grep password
后面的修改密码,配置远程访问,设置开机自启和上面案例一一样的!!!