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端口是否开放。

相关推荐
淮北也生橘126 分钟前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
薛晓刚2 小时前
当MySQL的int不够用了
数据库
SelectDB技术团队2 小时前
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
数据库·数据仓库·数据分析·apache doris·菜鸟技术
星空下的曙光2 小时前
mysql 命令语法操作篇 数据库约束有哪些 怎么使用
数据库·mysql
小楓12012 小时前
MySQL數據庫開發教學(一) 基本架構
数据库·后端·mysql
染落林间色2 小时前
达梦数据库-实时主备集群部署详解(附图文)手工搭建一主一备数据守护集群DW
数据库·sql
颜颜yan_3 小时前
企业级时序数据库选型指南:从传统架构向智能时序数据管理的转型之路
数据库·架构·时序数据库
lichenyang4533 小时前
管理项目服务器连接数据库
数据库·后端
沙振宇3 小时前
【数据库】通过‌phpMyAdmin‌管理Mysql数据
数据库·mysql
华强笔记3 小时前
Linux内存管理系统性总结
linux·运维·网络