加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql卸载 MySQL安装

发布时间:2022-10-24 14:04:11 所属栏目:MySql教程 来源:互联网
导读: 下载官网:打开官网,点击DOWNLOADS,点击MySQL Community(GPL) Downloads

点击MySQL Community Server

在General Availability(GA) Releases中选择适合的版本
如果安装Windows 系统下My

下载官网:打开官网,点击DOWNLOADS,点击MySQL Community(GPL) Downloads

2022-09-06T16:13:13.png

点击MySQL Community Server

2022-09-06T16:13:26.png

在General Availability(GA) Releases中选择适合的版本

如果安装Windows 系统下MySQL ,推荐下载 MSI安装程序 ;点击 Go to Download Page 进行下载

2022-09-06T16:13:38.png

mysql-installer-community-8.0.25.0.msi 下载程序大小:435.7M;

Linux下不能直接选择CentOS 7系统的版本,所以选择与之对应的 Red Hat Enterprise Linux

直接点Download下载RPM Bundle全量包。包括了所有下面的组件。不需要一个一个下载了。

2022-09-06T16:13:50.png

下载后用压缩工具解压

2022-09-06T16:13:58.png

windows

Linux概述

? Linux 操作系统的发行版很多,不同发行版下的 MySQL 版本也是不同的。MySQL 主要支持的 Linux 版本有 Red Hat Enterprise Linux 和 SUSE Linux Enterprise Server。本节主要介绍不同 Linux 发行版下 MySQL 支持的版本。

Linux 操作系统的 MySQL 软件包一般分为以下 3 类:

1)RPM

RPM 软件包的安装和卸载都很方便,它的服务器端(Server)软件和客户端(Client)软件都需要分开下载和安装。

2)二进制软件包

二进制软件包是软件发布的时候已经进行过编译的软件包,安装速度比源码包快得多。

3)源码包

源码包中是 MySQL 数据库的源代码,需要用户编译成二进制文件后才可以使用。

下面是常用的 Linux 版本和推荐的 MySQL 版本,如下表所示。

Linux 版本推荐安装的MySQL版本

Red Hat Enterprise Linux

RPM软件包

SUSE Linux Enterprise Server

RPM软件包

Fedora

RPM软件包

Ubuntu

源码包

CentOS

RPM软件包

MySQL的4大版本

MySQL Community Server 社区版本,开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户。

MySQL Enterprise Edition 企业版本,需付费,不能在线下载,可以试用30天。提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。

MySQL Cluster 集群版,开源免费。用于架设集群服务器,可将几个MySQL Server封装成一个Server。需要在社区版或企业版的基础上使用。

MySQL Cluster CGE 高级集群版,需付费。

Linux系统下安装MySQL的几种方式

方式1:pm命令

使用rpm命令安装扩展名为".rpm"的软件包。

.rpm包的一般格式

2022-09-06T16:14:19.png

方式2:yum命令

需联网,从 互联网获取 的yum源,直接使用yum命令安装。

方式3:编译安装源码包

针对 tar.gz 这样的压缩格式,要用tar命令来解压;如果是其它压缩格式,就使用其它命令。

Linux系统下安装MySQL,官方给出多种安装方式

安装方式特点

rpm

安装简单,灵活性差,无法灵活选择版本、升级

rpm repository

安装包极小,版本安装简单灵活,升级方便,需要联网安装

通用二进制包

安装比较复杂,灵活性高,平台通用性好

源码包

安装最复杂,时间长,参数设置灵活,性能好

0. 安装前准备CentOS7下检查MySQL依赖

检查/tmp临时目录权限(必不可少)

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。执行 :

chmod -R 777 /tmp

安装前,检查依赖

rpm -qa|grep libaio

rpm -qa|grep net-tools

如果不存在需要使用yum安装

yum install net-tools

rpm -qa | grep -i mysql # -i 忽略大小写

systemctl status mysqld.service

MySQL5.0卸载

卸载旧版本 MySQL 的操作步骤如下:

1)使用以下命令查看当前系统中是否安装 MySQL,命令和运行结果如下:

rpm -qa|grep -i mysql
mysql-libs-5.1.71-1.el6.x86_64

结果显示 Linux 上安装的 MySQL 为 mysql-libs-5.1.71-1.el6.x86_64 版本。

需要注意以下 2 点:

2)停止 MySQL 服务,卸载 mysql-libs-5.1.71-1.el6.x86_64,命令如下:

service mysql stop
rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64

注意:如果提示错误,可使用命令 rpm -ev mysql-libs-5.1.71-1.el6.x86_64 --nodeps 或 rpm -e --noscripts mysql-libs-5.1.71-1.el6.x86_64 卸载 MySQL。

3)查找之前老版本 MySQL 的目录,并且删除老版本的文件和库。

find / -name mysql

显示 MySQL 目录后,可以使用以下命令删除目录。

rm -rf 目录名

4)再次查找当前系统中是否安装了 MySQL。

rpm -qa|grep -i mysql

如果没有显示结果,说明已经卸载干净,接下来直接安装 MySQL 即可。

MySQL8.0的卸载关闭 mysql 服务

systemctl stop mysqld.service

查看当前 mysql 安装状况

rpm -qa | grep -i mysql
# 或
yum list installed | grep mysql

2022-09-06T16:15:52.png

卸载上述命令查询出的已安装程序

yum remove mysql-xxx mysql-xxx mysql-xxx mysqk-xxxx
rpm -e mysql-community-xxx-xxxx-8.0.28-1.el7.x86_64 --nodeps

务必卸载干净,反复执行 rpm -qa | grep -i mysql 确认是否有卸载残留

删除 mysql 相关文件

find / -name mysql

rm -rf xxx

删除 my.cnf

rm -rf /etc/my.cnf

1. 安装过程

将安装程序拷贝到/home目录下mysql目录

2022-09-06T16:16:02.png

在mysql的安装文件目录下执行:(必须按照顺序执行)

rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm

注意:

如在检查工作时,没有检查mysql依赖环境在安装mysql-community-server会报错

rpm 是Redhat Package Manage缩写,通过RPM的管理,用户可以把源代码包装成以rpm为扩展名的文件形式,易于安装。

-i , --install 安装软件包

-v , --verbose 提供更多的详细信息输出

-h , --hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好),展示进度条

2022-09-06T16:16:21.png

安装过程中可能的报错信息:

2022-09-06T16:16:29.png

rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm

2022-09-06T16:16:37.png

一个命令:yum remove mysql-libs 解决,清除之前安装过的依赖即可**

查看安装结果:

执行如下命令,查看是否安装成功。需要增加 -i 不用去区分大小写,否则搜索不到。

rpm -qa|grep -i mysql

2022-09-06T16:16:45.png

2. 启动MySQL,查看状态

mysqld 这个可执行文件就代表着 MySQL 服务器程序,运行这个可执行文件就可以直接启动一个服务器进程。

#加不加.service后缀都可以

启动:systemctl start mysqld.service

关闭:systemctl stop mysqld.service

重启:systemctl restart mysqld.service

查看状态:systemctl status mysqld.service

2022-09-06T16:16:54.png

查看进程:

ps -ef | grep -i mysql

查看MySQL服务是否自启动

systemctl list-unit-files|grep mysqld.service

systemctl enable mysqld.service

systemctl disable mysqld.service

3. 初始化MySQL

为了保证数据库目录与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化:

mysqld --initialize --user=mysql

说明: --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将 该密码标记为过期 ,登录后你需要设置一个新的密码。生成的 临时密码 会往日志中记录一份。

上一步可做可不做,服务启动后,之间查看日志中的初始化密码

cat /var/log/mysqld.log

root@localhost: 后面就是初始化的密码

首次登录

通过 mysql -hlocalhost -P3306 -uroot -p 进行登录,在Enter password:录入初始化密码

2022-09-06T16:18:08.png

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

我们可以设置密码的复杂度为简单类型,密码长度为4。

set global validate_password.policy = 0;
set global validate_password.length = 4;

降低密码的校验规则之后,再次执行上述修改密码的指令。

4. 远程登录

在用SQLyog或Navicat中配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。

解决方法:关闭防火墙或开放端口

关闭防火墙

CentOS7:

systemctl start firewalld.service
systemctl status firewalld.service
systemctl stop firewalld.service
#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机禁用防火墙
systemctl disable firewalld.service

开放端口

查看开放的端口号

firewall-cmd --list-all

设置开放的端口号

firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=3306/tcp --permanent

重启防火墙

firewall-cmd --reload

方式一、修改root配置

在Linux系统MySQL下测试

use mysql;
select Host,User from user;

2022-09-06T16:18:52.png

可以看到root用户的当前主机配置信息为localhost。

修改Host为通配符%

Host列指定了允许用户登录所使用的IP

比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。

而 %是个 通配符 ,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果 Host=% ,表示所有IP都有连接权限。

注意:

在生产环境下不能为了省事将host设置为%,这样做会存在安全问题mysql卸载,具体的设置可以根据生产环境的IP进行设置。

update user set host = '%' where user ='root';

Host设置了“%”后便可以允许远程访问。

2022-09-06T16:19:03.png

Host修改完成后记得执行flush privileges使配置立即生效:

flush privileges;

测试

2022-09-06T16:19:11.png

配置新连接报错:错误号码 2058,分析是 mysql 密码加密方法变了。

将密码的加密方式修改为mysql_native_password

2022-09-06T16:19:19.png

解决方法:Linux下 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'fanfan';

然后在重新配置SQLyog的连接,则可连接成功了,OK。

2022-09-06T16:19:37.png

方式二、创建新用户,给予权限

默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问。

2022-09-06T16:19:46.png

创建用于远程访问的用户

create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

并给root用户分配权限

grant all on *.* to 'root'@'%';

重新登录测试

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!