Linux(centos)安装 MySQL 8 数据库(图文详细教程)

前言


前几天写了个window系统下安装Mysql的博客,收到很多小伙伴私信需要Linux下安装Mysql的教程,今天这边和大家分享一下,话不多说,看教程。

一、删除以前安装的MySQL服务

一般安装程序第一步都需要清除之前的安装痕迹,要不然可能会有版本,依赖冲突等问题,这里步骤和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版本。

可以下载完成后使用Xftp等工具传输到自己安装的路径下,或者直接使用wget命令进行下载。

mkdir /usr/local/mysql/ cd /usr/local/mysql/ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar 

解压文件

tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar 

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

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

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

rpm -ivh mysql-community-common-8.0.35-1.el8.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.35-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.35-1.el8.x86_64.rpm rpm -ivh mysql-community-icu-data-files-8.0.35-1.el8.x86_64.rpm rpm -ivh mysql-community-devel-8.0.35-1.el8.x86_64.rpm rpm -ivh mysql-community-server-8.0.35-1.el8.x86_64.rpm 

查看已安装的 MySQL 的版本

mysql --version 

如果后期业务需要区分大小写的话就配置my.cnf
注意:MySQL 不区分表名、数据库名和数据库模式名的大小写,需要先加lower_case_table_names=1,mysql8.0只能初始化时候配置,后面修改比较麻烦

vi /etc/my.cnf 

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

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

绿色的active(running)就是启动成功,到这里就是安装完成了。

三、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 'Abu123456.'; 
4.开放远程访问权限,其他主机可以连接数据库,可以使用navicat等工具进行操作。
#选择数据库 use mysql; #设置 root 用户任意地方可以访问 update user set host='%' where user='root'; #刷新权限 flush privileges; 

5.这里就可以使用工具去尝试连接了,连接成功,如果连接失败就去看看防火墙的3306端口是否开放。

Read more

PinMe——极简、免费和无需服务器的开源前端部署工具

PinMe——极简、免费和无需服务器的开源前端部署工具

PinMe是一个开源的前端部署工具,它通过将静态网站文件上传到去中心化的IPFS网络来实现快速发布,主打极简、免费和无需服务器,目前Github 1.7k stars。 Github地址:https://github.com/glitternetwork/pinme PinMe 的官方网站:https://pinme.eth.limo/ 如何使用PinMe? 包含两种部署方式,都可实现快速极简部署 方式一:Deploy from Terminal(使用命令行的方式) 全局安装: npm install -g pinme 上传已经打包后的项目文件: pinme upload <folder/file-path> 成功上传文件并完成部署后点击链接即跳转PinMe官网,显示项目详情(包含项目网页预览)与简化后的项目链接: 点击"Your Site Link"

By Ne0inhk

前端常用字符串/数组操作(含相关手撕)

字符串转数组的方法 1. split() - 最常用的方法 功能描述:使用指定的分隔符将字符串分割成字符串数组 语法: str.split([separator[, limit]]) 参数: * separator:指定表示每个拆分点的字符串,如果省略,则返回包含整个字符串的数组 * limit:可选,限制返回的数组片段数量 示例: const str = "apple,banana,orange"; const arr = str.split(","); // 结果: ["apple", "banana", "orange"] const str2 = "hello"; const

By Ne0inhk

基于STM32的智能小车避障与循迹实战(江科大标准库开发)

1. 项目概述与硬件准备 如果你已经学完了江科大的STM32入门教程,却不知道下一步该做什么,那么这个智能小车项目绝对是你的不二之选!我自己在做完这个项目后,对STM32的各种外设和编程逻辑有了更深刻的理解。今天我就把自己在实现过程中的经验分享给大家,包括避障、循迹等核心功能的实现方法。 智能小车项目需要的硬件其实并不复杂,下面是必备清单: * 主控芯片:STM32F103C8T6最小系统板(核心板) * 电机驱动:TB6612模块(1-2个,根据电机数量决定) * 舵机:SG90(用于超声波模块的旋转扫描) * 传感器:HC-SR04超声波模块(避障)、TCRT5000红外模块(循迹) * 通信模块:HC-04蓝牙模块(手机控制) * 车体框架:某多多上搜索"STM32智能小车框架"(自带四个直流电机) * 烧录器:ST-LINK V2 * 其他:导线若干、面包板或洞洞板(建议用洞洞板,更稳定) 我在第一次组装时犯了个错误,没有先测试电机就直接焊接了,结果发现有个电机是坏的,不得不重新拆焊。所以强烈建议大家先测试所有元件再组装! 2.

By Ne0inhk

新版华三H3C交换机配置NTP时钟步骤 示例(命令及WEB配置)

命令版本  启用NTP服务 默认服务可能未激活,需手动开启: [H3C] ntp-service enable 配置NTP服务器地址 1.1.1.1 在全局配置模式下使用命令ntp-service unicast-server指定NTP服务器IP地址,例如: [H3C] ntp-service unicast-server 1.1.1.1 支持域名或IPv6地址,需确保交换机与NTP服务器网络可达。 设置时区 使用clock timezone命令调整时区,北京时间示例: [H3C] clock timezone Beijing add 08:00:00 [H3C] clock protocol ntp 名称可自定义(如"Beijing"),偏移量需与实际时区匹配。 配置NTP认证(可选) 若服务器需认证,需配置密钥和关联:

By Ne0inhk