rpm方式安装 mysql 8.0.28 (可适用麒麟操作系统(aarch64))

其他学习参考地址:https://blog.csdn.net/aiyin_yin/article/details/119534587

mysql 下载地址:https://dev.mysql.com/downloads/mysql/

先删除原有的mysql

rpm -qa | grep mariadb

rpm -e --nodeps mariadb-libs

rpm -e mariadb-server --nodeps
如果有搜索到,就使用 yum remove 包名 删除

# 解压
tar -xvf mysql-8.0.28-1.el8.aarch64.rpm-bundle.tar

# 请按这个顺序安装
rpm -ivh mysql-community-common-8.0.27-1.el8.aarch64.rpm
rpm -ivh mysql-community-client-plugins-8.0.27-1.el8.aarch64.rpm
rpm -ivh mysql-community-libs-8.0.27-1.el8.aarch64.rpm
rpm -ivh mysql-community-client-8.0.27-1.el8.aarch64.rpm
rpm -ivh mysql-community-server-8.0.27-1.el8.aarch64.rpm


#查看服务状态

systemctl status mysqld

 

# 初始化

mysqld —initialize —console

#授权目录

chown -R mysql:mysql /var/lib/mysql/
#启动

systemctl start mysqld

#此时在MySQL服务的状态:

 

 

#、修改MySQL登录
1、直接使用忘记密码的方法

vim /etc/my.cnf
skip-grant-tables #添加无密码登录
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

2、查看临时密码

cat /var/log/mysqld.log

然后登录MySQL

#mysql -uroot -p #无需输入密码,直接回车即可。
切换到mysql,将密码置空:

#use mysql;
#update user set authentication_string=' '  where user='root';

然后刷新权限:

#flush privileges;

设置加密规则并更新新密码设置远程连接,授权(直接复制这些SQL语句你的密码会更新为123456)

#ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;   授权
#alter user 'root'@'localhost' identified by '123456';  
#grant all privileges on *.* to "root"@'localhost';
#update user set host='%' where user='root';
#flush privileges;
设置成功后,进入my.cnf删除刚才添加的skip-grant-tables,重启mysql服务,使用新密码登录

#systemctl stop mysqld
#systemctl start mysqld
使用Navicat for MySQL连接即可

cat /var/log/mysqld.log

 

----------------------------------------------:如果上面更该密码方式不对  可以试试这个

 

MySQL8修改密码步骤

1,先在配置文件里加上 skip-grant-tables 重启mysql后免密登陆进入mysql

2,查看当前认证方式以及用户,默认是 caching_sha2_password 认证,
select host, user, authentication_string, plugin from user;

3,如果2是默认认证方式,则修改为密码认证为 mysql_native_password先,

在配置文件里加上 default_authentication_plugin=mysql_native_password 后再次重启mysqld,免密登陆

4,不能直接修改密码,会报错。要先清空root密码:
update user set authentication_string='' where user='root';
刷新:flush privileges;

5,退出mysql, 删除/etc/my.cnf文件里的 skip-grant-tables ,再一次重启 mysql 服务,再次登陆的时候是空密码登陆:

mysql -u root -p

登陆后即可修改密码了:
ALTER USER 'root'@'%' IDENTIFIED BY '123456';

flush privileges;

完成。
---------------------------------------------------------------------如果还不行

#1,set password='123456'; 直接用这个命令是修改当前用户密码。

#2,如果出现:Mysql8 提示:ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

原因:
MySQL8版本中新增了一个system_user帐户类型,由于root用户没有SYSTEM_USER权限,导致错误出现。
为root添加权限:
grant system_user on *.* to 'root';

flush privileges;

#3,SET PASSWORD FOR 'putong'@'%' = '123456';

#刷新权限:flush privileges;

SELECT user, authentication_string FROM user;这个命令是看用户密码的。

posted on 2022-06-23 13:48  大兄弟666  阅读(703)  评论(0编辑  收藏  举报