当前位置: 首页 > news >正文

Linux(centos)安装 MySQL 8

一、删除已有MySQL服务

1.卸载Mysql
安装软件删除

查看之前是否安装过Mysql

[root@localhost ~]# rpm -qa |grep -i mysql
mysql80-community-release-el8-1.noarch
mysql-community-server-8.0.27-1.el8.x86_64
mysql-community-client-plugins-8.0.27-1.el8.x86_64
mysql-community-libs-8.0.27-1.el8.x86_64
mysql-community-client-8.0.27-1.el8.x86_64
bt-mysql57-5.7.34-1.el8.x86_64
mysql-community-common-8.0.27-1.el8.x86_64
[root@iZuf65saybbvavxkh38cdiZ mysql]# 

yum remove 将以上内容删除

yum remove mysql80-community-release-el8-1.noarch
yum remove mysql-community-server-8.0.27-1.el8.x86_64
yum remove mysql-community-client-plugins-8.0.27-1.el8.x86_64
yum remove mysql-community-libs-8.0.27-1.el8.x86_64
yum remove mysql-community-client-8.0.27-1.el8.x86_64
yum remove bt-mysql57-5.7.34-1.el8.x86_64
yum remove mysql-community-common-8.0.27-1.el8.x86_64

检查是否卸载干净

rpm -qa |grep -i mysql
删除历史数据

查找mysql相关目录

[root@localhost ~]# find / -name mysql
find: ‘/proc/29250/task/29250/net’: Invalid argument
find: ‘/proc/29250/net’: Invalid argument
/etc/logrotate.d/mysql
/var/lib/selinux/targeted/active/modules/100/mysql
/var/lib/selinux/targeted/tmp/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/selinux/targeted/default/active/modules/100/mysql

对这些目录进行删除

rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/selinux/targeted/tmp/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/selinux/targeted/default/active/modules/100/mysql

删除/etc/my.cnf 文件

rm -rf /etc/my.cnf

删除 /var/log/mysql/mysqld.log文件

rm -rf /var/log/mysql/mysqld.log
2.卸载mariadb

查看是否有安装 mariadb,该软件与 MySQL 数据库有冲突,需要卸载

# 如果是 CentOS7 可以检测出已经安装了 mariadb
rpm -qa | grep mariadb

删除mariadb相关

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

二、下载、安装MysQL

下载网址:Mysql官网下载地址 也可以自己去官网找
在这里插入图片描述
选择对应版本,这里进去默认是最新的版本,如果想要下载历史版本,点击旁边的Archives里面查找,下载RPM Bundle版本。
在这里插入图片描述
下载完成后使用工具传输到自己安装的路径下,或者直接使用wget命令进行下载。

mkdir /usr/local/mysql/
cd /usr/local/mysql/
wget wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar

解压文件

tar -xvf MySQL-8.0/mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar

使用rpm 安装
必须按照顺序执行命令,否则会出现依赖错误的报错

rpm -ivh mysql-community-common-8.0.42-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.42-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.42-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.42-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.42-1.el7.x86_64.rpm

如果是20版本以上的话按照这个顺序来执行

rpm -ivh mysql-community-common-8.0.42-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.42-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.42-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.42-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.42-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.42-1.el8.x86_64.rpm

查看已安装的 MySQL 的版本

mysql --version

如果后期业务需要区分大小写的话就配置my.cnf()

MySQL 8.0在Linux系统中默认会检查以下路径的配置文件(按优先级从高到低):/etc/my.cnf/etc/mysql/my.cnf~/.my.cnf(用户级配置)可通过命令mysql --help | grep "Default options"查看完整加载顺序‌12。
sudo vim /etc/mysql/my.cnf

具体内容

[mysqld] 
datadir=/data/mysql/80   #数据库文件存储路径‌
socket=/data/mysql/80/mysql.sock # 指定Socket文件路径
character-set-server=utf8mb4  # 定义 MySQL 服务实例的默认字符集
lower_case_table_names=1  # 表名大小写不敏感(需初始化前设置)‌:ml-citation{ref="3,4" data="citationList"}log-error=/var/log/mysqld.log  # 日志存储路径
pid-file=/var/run/mysqld/mysqld.pid  # PID 记录[client]
socket=/data/mysql/80/mysql.sock

Mysql的常用命令,这里进行启动。

#开机自启
systemctl enable mysqld
#启动
systemctl start mysqld
#查看状态
systemctl status mysqld
#重启
systemctl restart mysqld
#关闭
systemctl stop mysqld
#关闭开机自启
systemctl disable mysqld

三、Mysql的使用

1.获取 root 用户的初始密码
cat /var/log/mysqld.log | grep root@localhost
2.使用 root 用户登录到 MySQL 服务
mysql -u root -p
3.修改 root 的初始化密码(这里由于数据库默认有个密码强度策略,所以需要有大小写和特殊字符,后面可以修改密码策略)
alter user root@localhost identified by 'Aa123456.';
4.开放远程访问权限,其他主机可以连接数据库,可以使用navicat等工具进行操作。
#选择数据库
use mysql;
#设置 root 用户任意地方可以访问
update user set host='%' where user='root';
#刷新权限
flush privileges;
http://www.lryc.cn/news/580398.html

相关文章:

  • ADAS功能介绍
  • alpine安装及配置nodejs开发测试环境
  • 流水线(Jenkins)打包拉取依赖的时候提示无法拉取,需要登录私仓的解决办法
  • Swift 数学计算:用 Accelerate 框架让性能“加速吃鸡”
  • Vue前端项目接收webSocket信息
  • ASP.NET 安装使用教程
  • CppCon 2018 学习:THE BITS BETWEEN THE BITS HOW WE GET TO HOW WE GET TO main()
  • 3dmax标准材质转物理材质插件,支持VR材质和CR材质转换成功物理材质,支持多维子材质
  • Python asyncio库与GIL之间的关系,是否能够解决核心问题?
  • 【鸿蒙】鸿蒙操作系统发展综述
  • Redis 哨兵模式部署--docker版本
  • 个人独创-CV领域快速测试缝合模型实战框架讲解-基础篇-Pytorch必学知识
  • STM32中实现shell控制台(命令解析实现)
  • PyTorch中 item()、tolist()使用详解和实战示例
  • 如何修改Siteground max_execution_time值?
  • 打印界智能助手Print Distributor:日志记录 纸张状态实时看,异常情况秒通知
  • LucidShape 2024.09 最新
  • 顺序栈和链式栈
  • spring加载外部properties文件属性时,读取到userName变量值和properties文件的值不一致
  • 动手实践OpenHands系列学习笔记8:后端服务开发
  • 大数据在UI前端的应用探索:基于用户行为分析的产品优化策略
  • [论文阅读] 软件工程 | 可持续性标志在问答平台中的应用
  • 基于matlab卡尔曼滤波器消除噪声
  • [前缀和+多重背包]3333. 找到初始输入字符串 II
  • JMM--数据原子操作
  • 【深圳大学机器学习】实验一:PCA算法
  • Qt窗口被外部(非Qt内部机制)强制销毁,第二次再重复使用不显示
  • cloudflare配合github搭建免费开源影视LibreTV一个独享视频网站 详细教程
  • vue3 el-input el-select 非空校验
  • 每日学习问题记录