胡志敏

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

卸载默认的mariadb

#查看是否安装自带mariadb-lib
rpm -qa|grep mariadb
#卸载自带mariadb-lib
rpm -e --nodeps mariadb-libs

# -–nodeps 不需要检查依赖关系

准备

mysql历史版本下载地址
https://downloads.mysql.com/archives/community/
我这里下载的是8.0.30 注意:8.0.39安裝不成功😓
建议下载rpm的mysql安装包
image

# 下载mysql8.0.30
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.39-1.el9.x86_64.rpm-bundle.tar
解压
tar -xvf mysql-8.0.39-1.el9.x86_64.rpm-bundle.tar
-x:表示解包(extract)操作。
-v:表示详细模式(verbose),它会在解包过程中显示正在处理的文件列表。
-f:表示指定文件名,后面跟着你要解包的 .tar.xz 文件的名称。
#成功执行会得到rpm文件

image
在解压后的路径中使用rpm安装mysql及捆绑的相关依赖

rpm -ivh *.rpm --force  --nodeps 

命令解析:

rpm:命令本身,用于处理 RPM 软件包。
 -i:表示安装(install)一个或多个软件包。
 -v:表示详细模式(verbose),它会在安装过程中显示更多的信息。
 -h:表示显示安装进度的散列(hash),通常显示为一个进度条。
 *.rpm:指定要安装的文件,星号 * 是一个通配符,表示当前目录下所有以 .rpm 结尾的文件。
 --nodeps:这个选项用于跳过依赖性检查。--no 是一个否定前缀,deps 表示依赖性。通常,rpm 会检查软件包的依赖性,确保所有必需的依赖都已安装。使用 --nodeps 会忽略这些检查,这可能会带来风险,因为缺少依赖可能导致软件包不能正常工作。
 --force:这个选项用于强制安装软件包,即使某些条件不满足(例如,如果软件包已经安装或存在冲突)也会继续安装。

image

出现错误

warning: mysql-community-server-8.0.39-1.el9.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY

//更新最新的秘钥即可
 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

查看安裝的myql位置

whereis mysql

image

MySQL的安装路径为/usr/bin/mysql,
其配套的mysqlclient库头文件位于/usr/include/mysql,
库文件位于/user/lib64/mysql。

给目录权限才能启动数据库文件不然会报错

chown -R mysql:mysql /var/lib/mysql/

命令 chown -R mysql:mysql /var/lib/mysql/ 的作用是将 /var/lib/mysql/ 目录及其所有子目录和文件的所有者和所属组递归地更改为 mysql 用户和 mysql 组。这通常在安装或配置 MySQL 数据库时执行,确保 MySQL 服务有适当的权限来访问其数据目录。

#启动数据库
systemctl start mysqld
#初始化数据库
mysqld --initialize --console
启动mysql
systemctl start mysqld
#查看状态
systemctl status mysqld

image
获取随机的root密码

cat /var/log/mysqld.log

image

修改密码

#进入mysql 
mysql -u root -p*i6ypFTVS=?e

image

# 将root密码修改为Aa@123456  满足安全策略要求
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa@123456';

image
默认是只允许本机访问,还需要对账户进行授权

#进入mysql 
show databases; #查看数据库
use mysql;  #进入mysql库
update user SET host = "%" WHERE user='root'; #修改为是所有可以访问
select host, user, authentication_string, plugin from user; #查看记录 host变成%
#让修改生效
FLUSH privileges;

image

修改默认端口

默认端口很容易被攻击,因此可以修改mysql的端口

#打开配置文件,默认位置在etc
vi /etc/my.conf

image

重启mysql

image

MySQL8.0远程连接报错

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

#进入MySQL
mysql -uroot -p
# 修改加密规则
 
ALTER USER 'root'@'%' IDENTIFIED BY 'Aa222@111' PASSWORD EXPIRE NEVER;
 
# 更新一下用户的密码
 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Aa222@111';
# 刷新权限

flush privileges;
#自定义密码
 
alter user 'root'@'%' identified by 'AaA@1123';
posted on 2024-12-25 20:55  懂了遗憾  阅读(688)  评论(0)    收藏  举报