02.安装MySQL

安装MySQL

1.Windows使用压缩包安装MySQL8

下载安装包

地址:https://downloads.mysql.com/archives/community/

解压安装包在没有中文和空格的目录下

省略

在解压目录创建my.ini文件并添加内容如下

不创建也是可以的,让它用默认的

配置环境变量

省略

初始化生成临时密码

这一步完成后会在目录下生成data目录,如果忘记了临时密码可以删除data目录重新走一遍这个步骤

mysqld --initialize --user=mysql --console

安装服务

把MySQL安装为Windows服务,具体命令如下:

mysqld --install

启动与停止MySQL

net start mysql
net  stop mysql

登录

这里需要使用之前生产的临时密码

mysql -u root –p

修改root用户密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

修改root用户权限

create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

开机自动启动MySQL

mysqld -nt --install

2.Windows使用安装程序安装MySQL8

下载安装程序

上面的是在线安装版本,下面是整个安装包,支持离线安装

下载地址:https://downloads.mysql.com/archives/installer/

按步骤下一步即可








3.Linux安装MySQL前言

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

安装方式特点
rpm安装简单,灵活性差,无法灵活选择版本、升级
rpm repository安装包极小,版本安装简单灵活,升级方便,需要联网安装
通用二进制包安装比较复杂,灵活性高,平台通用性好
源码包安装最复杂,时间长,参数设置灵活,性能好

官网下载地址

https://downloads.mysql.com/archives/community/

4.Centos7安装MySQL5.7使用RPM的方式

卸载MysQL的npm包

rpm -qa | grep -i mysql
rpm -e 上一步查询出来的npm包名 --nodeps

rpm -qa|grep mariadb
rpm -e 上一步查询出来的npm包名 --nodeps

获取安装包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

解压tar包

tar -xvf tar包名字 

安装common

rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm

安装libs

rpm -ivh --force --nodeps  mysql-community-libs-5.7.35-1.el7.x86_64.rpm

安装client

rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm

安装server

rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm

修改文件跳过检验

vi /etc/my.cnf
# 在[mysqld]下添加这个配置
skip-grant-tables

启动MySQL

systemctl start mysqld.service

进入MySQL修改root用户密码

    # 进入MySQL
    mysql
    # 修改root用户密码
    update mysql.user set authentication_string=password('123456') where user='root';
    # 刷新
    flush privileges;
    # 停止MySQL服务
    systemctl stop mysqld.service
    # 把添加的skip-grant-tables去掉
    # 设置开机启动MySQL
    systemctl enable mysqld.service
    # 启动MySQL服务
    systemctl start mysqld.service

设置简单密码

线上不要这么干

    set global validate_password_policy=LOW;
    set global validate_password_length=4;
    set password=password('123456');

设置远程连接

    # 防火墙永久开启3306端口并重启
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload
    # 进入MySQL开启远程登录
    grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

5.Centos7安装MySQL8使用RPM仓库的方式

移除mariadb

yum remove mariadb-libs.x86_64

建立目录

mkdir /etc/mysql
cd /etc/mysql

下载rpm包

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

添加到本地

yum localinstall  mysql80-community-release-el7-3.noarch.rpm

正式安装

yum install mysql-community-server

启动

service mysqld start  # 启动
service mysqld status # 状态
service mysqld stop # 停止

查看默认密码并且登录

    # 查看默认密码
    cat /var/log/mysqld.log | grep password
    # 登录
    mysql -u root -p 

修改密码

    set global validate_password.policy=0;
    set global validate_password.length=1;
    alter user "root"@"localhost" identified by "123456"
    exit

下载示例数据库

wget https://downloads.mysql.com/docs/airport-db.tar.gz

6.Centos7安装MySQL8使用RPM的方式

获取安装包并解压

# 获取
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
# 解压
tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar

CentOS7下检查MySQL依赖

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

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

chmod -R 777 /tmp
安装前检查依赖
rpm -qa|grep libaio

rpm -qa|grep net-tools

rpm -qa|grep net-tools

安装MySQL

在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
如果报错清除之间安装过的依赖
yum remove mysql-libs
查看MySQL版本
mysql --version
# 或
mysqladmin --version
查看是否安装成功
rpm -qa|grep -i mysql

查看临时的root密码

介绍

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

命令
mysqld --initialize --user=mysql
说明

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

查看密码
cat /var/log/mysqld.log

启动MySQL

MySQL服务相关命令
#加不加.service后缀都可以

启动:systemctl start mysqld.service

关闭:systemctl stop mysqld.service

重启:systemctl restart mysqld.service

查看状态:systemctl status mysqld.service

查看MySQL服务是否自启动
systemctl list-unit-files|grep mysqld.service
自动启动相关命令
# 开机启动
systemctl enable mysqld.service
# 开机不启动
systemctl disable mysqld.service

使用root用户登录MySQL后修改密码

# 登录MySQL
mysql -u root -p
# 修改密码,因为初始化密码默认是过期的,所以查看数据库会报错
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
# 注意
5.7版本之后(不含5.7),mysql加入了全新的密码安全机制。设置新密码太简单会报错。

设置远程登录

介绍

关闭防火墙与开放端口二选一即可

防火墙相关命令
# 启动防火墙
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
设置MySQL的root用户允许远程登陆

执行以下命令查看:

use mysql; 
select Host,User from user;

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

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设置为%,这样做会存在安全问题,具体的设置可以根据生产
环境的IP进行设置。

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

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

flush privileges;
MySQL8的密码加密问题

注意:如果是 MySQL5.7 版本,完成上面那些步骤接下来就可以使用SQLyog或者Navicat成功连接至MySQL了。MySQL8还有问题

使用远程工具连接MySQL8错误号码2058/2059,可以Linux下 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root密码';

7.Linux下卸载MySQL

关闭MySQL服务

systemctl stop mysqld.service

查看当前MySQL安装状况

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

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

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

yum remove mysql-xxx mysql-xxx mysql-xxx mysqk-xxxx

删除MySQL相关文件

# 1.查找相关文件
find / -name mysql
# 2.删除上述命令查找出的相关文件
rm -rf xxx
# 3.删除 my.cnf
rm -rf /etc/my.cnf

7.其他命令

# windows的启动与停止
mysqld --console  # 启动
mysqladmin -uroot shutdown  # 停止

# Linux的启动与停止
./mysqld_safe &   # 启动
./mysqladmin -u root -p shutdown   # 停止

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes学习笔记13

K8s集群核心概念:Service 我们在之前的学习过程中遇到一个问题,就是如果Pod被误删除,那么Controller重新拉起一个新的Pod时,我们发现PodIP地址是变化着的,我们访问必须更新IP地址。 这样对于大量的Pod运行应用来说&a…

Linux双网卡默认路由优先级设置不正确,导致网络不通问题定位

问题描述 RHEL9 双网卡环境,两个网卡配置如下:(eth0 走内网,eth1 走外网) eth0 192.168.10.20/24 网关: 192.168.10.254 eth1 10.206.216.92/24 网关: 10.206.216.254配置完成后,curl https://www.baidu.com访问百度失…

鸿蒙HarmonyOS开发实战:【分布式音乐播放】

介绍 本示例使用fileIo获取指定音频文件,并通过AudioPlayer完成了音乐的播放完成了基本的音乐播放、暂停、上一曲、下一曲功能;并使用DeviceManager完成了分布式设备列表的显示和分布式能力完成了音乐播放状态的跨设备分享。 本示例用到了与用户进行交…

数据结构初阶:二叉树

树概念及结构 树的概念 树是一种 非线性 的数据结构,它是由 n ( n>0 )个有限结点组成一个具有层次关系的集合。 把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的 。 有一个特殊的结点&a…

一体式I/O模块与RS485串口联动,实现工业网络无缝对接

在现代工业自动化领域中,一体化I/O模块和RS485串口的联动应用已经成为实现工业设备高效、稳定通信的关键技术手段之一。这种联动机制能够有效地将各种现场设备的数据实时、准确地传输到上位机系统,从而实现工业网络的无缝对接。 一体化I/O模块&#xff…

tailwindcss+vue3+vite+preline项目搭建

最近原子化样式比较火,用了一下确实还不错,也确实是用一些标准的样式能够使网页看起来比较统一,而且能够极大的减轻起名字的压力,有利有弊,就不一一细说了。 之前开发都是习惯于使用vitevue3来开发的,此次搭…

ClickHouse--17--argMin() 和argMax()函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 argMin() 和argMax()函数业务场景使用案例1.准备表和数据:业务场景一:查看salary 最高和最小的user业务场景二:根据更新时间获取…

C++11 数据结构0 什么是 “数据结构“?数据,数据对象,数据元素,数据项 概念。算法的基本概念 和 算法的度量,大O表示法,空间换时间的代码

数据: 是能输入计算机且能被计算机处理的各种符号的集合。数值型的数据:整数和实数。非数值型的数据:文字、图像、图形、声音等。 数据对象: 性质相同的 "数据元素" 的集合 例如一个 int arr[10], Teacher tea[3]; 数…

C++设计模式:单例模式(十)

1、单例设计模式 单例设计模式,使用的频率比较高,整个项目中某个特殊的类对象只能创建一个 并且该类只对外暴露一个public方法用来获得这个对象。 单例设计模式又分懒汉式和饿汉式,同时对于懒汉式在多线程并发的情况下存在线程安全问题 饿汉…

每日OJ题_BFS解决FloodFill②_力扣200. 岛屿数量

目录 力扣200. 岛屿数量 解析代码 力扣200. 岛屿数量 200. 岛屿数量 难度 中等 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方…

layui中对table表格内容鼠标移入显示 tips内容

要在Layui中的表格中实现鼠标移入显示Tips,你可以使用Layui的事件监听和Tips组件。 有两种实现方式! 第一种是,通过自定义鼠标事件显示 tips。在渲染 table 时,对 filed 进行重构,增加相应的选择器标识,一…

OneForAll安装使用

OneForAll简介 OneForAll是一款功能强大的子域收集工具 原项目地址:GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具 gitee项目地址:OneForAll: OneForAll是一款功能强大的子域收集工具 # 安装Python Windows系统安装python参…

Excel文本内容抽取工具[Python]

#创作灵感# 一堆Excel文件,每个打开看太累了。写个脚本直接显示里面的内容多好。最好这些内容可以直接复制到剪切板,方便以后编辑修改。只需要将文件拖动到全屏置顶的文本框内,就能弹出Excel里的内容。支持一次选取多个文件。 开干&#xff…

react17+18 中 setState是同步还是异步更新

在类组件中使用setState,在函数式组件中使用hooks的useState。 setstate目录 1. 类组件1.1 react 17版本1.2 react 18版本 2、函数式组件 1. 类组件 1.1 react 17版本 参考内容:第十一篇:setState 到底是同步的,还是异步的&…

Unity类银河恶魔城学习记录12-8 p130 Skill Tree UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI.cs using UnityEngine;public class UI : MonoBehaviour {[SerializeFi…

【精选】发布应用到应用商店的基本介

摘要 本文旨在介绍如何在各大应用商店发布应用,包括市场选择、准备材料、上架步骤以及常见被拒原因及解决方法。通过详细的步骤和经验分享,帮助开发者顺利将应用推向市场。 引言 随着移动应用市场的不断发展,越来越多的开发者希望将他们的…

C++类和对象上

C和C语言本质区别 C语言是面向过程的,面向过程的,分析出求解问题的步骤,然后逐步通过函数调用来逐步解决问题。 C在分析问题是在面对对象的基础上来实现的,即将一件事情拆分为不同的对象,靠的是对象之间的交互来完成的…

OSPF数据报文格式

OSPF协议是跨层封装的协议,跨四层封装,直接将应用层的数据封装在网络层协议后面,IP协议包中协议号字段对应的数值为——89 OSPF的头部信息: ——所有数据包公有的信息 版本:OSPF版本 在IPV4中一般使用OSPFV2&#xf…

c 解数独(通用方法,适用于9×9 数独)

折腾了一周时间,终于搞定99数独通用方法 思路:1.生成每行空位的值,也就是1-9中除去非0的数。 2.用行,列,宫判断每行中每个空位的最小取值范围后再重新生成每行。 3.随机提取生成的9行,判断每列之和是否等…

找不到vcruntime140.dll怎么办,vcruntime140.dll丢失的多种解决方法

在我们日常频繁地与电脑打交道、依赖其处理各种工作、学习乃至娱乐任务的过程中,偶尔会遭遇一些令人困扰的技术问题。其中一种颇为常见的情况便是,当您正全神贯注于某个重要应用的操作,或是满怀期待地试图启动一款新安装的游戏时,…