搜集网上资料做出的总结。
参考:
https://www.jianshu.com/p/ef58fb333cd6
https://www.cnblogs.com/yjt-kid/p/11772447.html
**
**
如果先前装过mysql,
先按照这个网站的卸载方法把mysql卸载干净。
https://www.jianshu.com/p/ef58fb333cd6
相关命令:
rpm -qa |grep -i mysql; //查看mysql安装了哪些东西
yum remove 要删除的东西; //开始卸载
find / -name mysql; //查找mysql相关目录
rm -rf mysql相关目录 ; //删除相关目录
rm -rf /etc/my.cnf; //删除/etc/my.cnf
rm -rf /var/log/mysqld.log; //删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,导致无法登陆)
一,官网下载
m1架构下载Aarch64版本的mysql
下面演示安装操作
二,装卸 mariadb
1,查看 mariadb 的安装包
rpm -qa | grep mariadb
2,装卸 mariadb
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
3,再次查看 mariadb
rpm -qa | grep mariadb
三,在/usr/local下创建mysql文件夹
mkdir mysql
四,把下载的安装包从本地放入任意虚拟机中的位置。
可用Transmit软件
五,解压 tar 包
我这里把压缩包放在/op t/module文件夹下,解压到/usr/local/mysql
tar -xvf /opt/module/mysql-8.0.27-1.el7.aarch64.rpm-bundle.tar -C ./mysql-community-client-8.0.27-1.el7.aarch64.rpm
到/usr/local/mysql/文件夹下检查解压结果
六,开始安装
按固定顺序在解压的文件夹下执行下面命令
rpm -ivh mysql-community-common-8.0.27-1.el7.aarch64.rpm
rpm -ivh mysql-community-libs-8.0.27-1.el7.aarch64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.27-1.el7.aarch64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.27-1.el7.aarch64.rpm --nodeps --force
注:
如果不加–nodeps --force可能会出现和依赖相关的错误。
–nodeps rpm在安装/卸载时,不检查依赖关系,例如安装/卸载B,B依赖C导致无法安装/卸 载,使用–nodeps就可以安装/卸载成功
七,检查确认
rpm -qa | grep mysql
八,对mysql数据库进行初始化和相关配置
mysqld --initialize;
如果报错
是因为没有安装所需要的依赖包
执行:yum install -y libaio
继续操作:
chown mysql:mysql /var/lib/mysql -R; //设置文件拥用者
systemctl start mysqld.service;
systemctl enable mysqld; //设置开机自启
九,修改root初始密码,并修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式
1,查看root的初始密码
cat /var/log/mysqld.log | grep password
我的初始密码为:BR1kLoHfgf%*
注意点:初始密码的最后一位密码可能是逗号,比如“BR1kLoHfgf%,” 最后的逗号也要算在密码里面。
2,进入数据库登陆界面:mysql -uroot -p
mysql -uroot -p
输入之前查询的密码,注意不会显示
3,修改root密码,并修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
新密码要符合当前mysql的密码策略。修改或者查看密码策略可百度
4,通过 exit; 命令退出 MySQL,然后通过新密码再次登陆
十,进行远程访问的授权(登录MySQL后操作)
use mysql; //切换到mysql数据库
select host from user where user='root';//查询root到host值
update user set host='%' where user='root'; //如果上面查询出来的host值不为"%",则使用该语句改为"%"
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER; //设置密码永不过期
flush privileges;
navicat连接成功。