MySQL8 概述、下载、安装、使用(Windows2019和centos7.9)

mysql8,概述,下载,安装,使用,windows2019,centos7 · 浏览次数 : 135

小编点评

## 3、使用官方提供客户端管理软件DBMS(DB管理系统)连接输入hostname、port、root密码 **1. 下载并安装** * 下载:mysql-8.0.28-el7-x86_64.tar.gz * 安装:mkdir -p /u01/app/mkdir -p /u01/data/3306mkdir -p /u01/ log /33063 **2. 配置环境变量** * 在文件/u01/data/3306/my.cnf中设置密码策略 **3. 初始化数据库** * 使用以下命令初始化数据库: ``` mysqld --initialize --user=mysql ``` **4.全局变量下使用mysqld或[root@mysql8 ~]# /u01/app/mysql/bin/mysqld --initialize --user=mysql --basedir=/u01/app/mysql/ --datadir=/u01/data/3306/data/ ``` **5.绝对路径下使用mysqld** ``` /etc/my.cnf11 ``` **6. 初始化mysql数据库** ``` mysqld --initialize --user=mysql ``` **7.修改root密码初始密码** ``` /u01/log/3306/3306db-error.err ``` **8.设置root密码** ``` /usr/lib/systemd/ system /mysqld.service12 ``` **9. 启动和停止脚本** ``` systemctl daemon-reload systemctl stop mysqld systemctl start mysqld systemctl enable mysqld ``` **10.绝对路径下使用mysqld** ``` /u01/app/mysql/bin/mysqld --initialize --user=mysql --basedir=/u01/app/mysql/ --datadir=/u01/data/3306/data/ ``` **11.修改root密码初始密码** ``` /u01/log/3306/3306db-error.err ``` **12.允许root用户远程登录mysql** ``` mysql -uroot -p shutdown -S /u01/data/3306/mysql.sock13 ``` **13.防火墙放开3306端口** ``` firewall-cmd --permanent --zone= public --add-port=3306/tcp ```

正文

MySQL8 概述、下载、安装、使用(Windows2019和centos7.9)

1、MySQL概述

1.1 数据库相关概念
在这一部分,先了解三个概念:数据库、数据库管理系统、SQL。

名称 全称 简称
数据库 存储数据的仓库,数据是有组织的进行存储 DataBase(DB)
数据库管理系统 操纵和管理数据库的大型软件 DataBase Management System (DBMS)
SQL 操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 Structured Query Language (SQL)

目前主流的关系型数据库有哪些:

Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。

MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。

SQL Server:Microsoft 公司推出的收费的中型数据库,C#、.net等语言常用。

PostgreSQL:开源免费的中小型数据库。

DB2:IBM公司的大型收费数据库产品。

SQLLite:嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。

MariaDB:开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品,与MySQL数据库有很好的兼容性。

不论我们使用哪一个关系型数据库,最终在操作时,都是使用SQL语言来进行统一操作,SQL语言是操作关系型数据库的统一标准。

假如我们以后到了公司,使用的是别的关系型数据库,如:Oracle、DB2、SQLServer,也完全不用担心,因为操作的方式都是一致的。

 

2、Windows系统上安装MySQL

1、环境准备

Windows server 2019系统,cpu:4核,内存:8G,硬盘:100G

2、安装MySQL

1、下载软件安装包

官方网址: https://www.mysql.com/

MySQL官方提供了两种不同的版本:

(1)社区版本(MySQL Community Server):免费, MySQL不提供任何技术支持

(2)商业版本(MySQL Enterprise Edition):收费,可以使用30天,官方提供技术支持

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

这里采用的是MySQL最新的社区版-MySQL Community Server 8.0.26,操作系统:Windows server 2019

2、安装MySQL

我们可以根据下面的步骤,一步一步的完成MySQL的安装。

(1) 双击官方下载好的安装包文件

(2) 根据安装提示进行安装

选择安装类型

请选择适合您的用例的安装类型。(开发者默认、仅服务器、仅客户端、全部,每种模式包含的软件有所不同)

检查要求
以下产品有不合格要求。MySOL安装程序将尝试自动解析它们。标记为手动的需求无法自动解决。单击每个项目尝试手动解决它。直接next。

一个或多个产品要求没有得到满足
将不会安装缺少需求的产品,或者是否继续? 点击yes继续。

 安装MySQL的相关组件,点击Execute。(这个过程可能需要耗时十几分钟)

产品配置
现在,我们将介绍以下每个产品的配置向导。如果您希望在不配置所有产品的情况下离开此向导,您可以在任何时候取消。

 

类型和网络

验证方法
使用强密码加密进行身份验证(推荐)

帐户和角色,root帐户的密码。

Windows服务
将MySQL服务器配置为Windows服务
请指定要用于此MySQL服务器实例的Windows服务名称。每个实例都需要一个唯一的名称。

应用配置,点击Execute

应用配置完成,点击finish。

产品配置,点击next

MySQL路由器配置
Bootstrap MySQL路由器用于InnoDB集群。这里默认,点击finish。

 产品配置,点击next。

连接到服务器,输入root密码,点击check。测试ok,点击next。

 应用配置,配置操作已经完成。点击finish。

安装完成,点击finish。

3、配置环境变量

安装好MySQL之后,还需要配置环境变量,这样才可以在任何目录下连接MySQL。

A.搜索打开 控制面板

 B. 点击左侧的 "高级系统设置",选择环境变量

 C. 找到 Path 系统变量, 点击 "编辑"  

 D. 选择 "新建" , 将MySQL Server的安装目录下的bin目录添加到环境变量

4、启动停止MySQL数据库

MySQL安装完成之后,在系统启动时,会自动启动MySQL服务,我们无需手动启动了。

当然,也可以手动的通过指令启动停止,以管理员身份运行cmd,进入命令行执行如下指令:

net start mysql80
net stop mysql80
注意 : 上述的 mysql80 是我们在安装MySQL时,默认指定的mysql的系统服务名,不是固定的,如果未改动,默认就是mysql80。

5、客户端连接

1). 方式一:使用MySQL提供的客户端命令行工具

 2). 方式二:使用系统自带的命令行工具执行指令

mysql [-h 127.0.0.1] [-P 3306] -u root -p
参数:
-h : MySQL服务所在的主机IP
-P : MySQL服务端口号, 默认3306
-u : MySQL数据库用户名
-p : MySQL数据库用户名对应的密码
[]内为可选参数,如果需要连接远程的MySQL,需要加上这两个参数来指定远程主机IP、端口,如果连接本地的MySQL,则无需指定这两个参数。

注意: 使用这种方式进行连接时,需要安装完毕后配置PATH环境变量。

  3). 方式三:使用官方提供客户端管理软件DBMS(DB管理系统)连接

输入hostname、port、root密码,点击ok。

 

3、Linux系统上安装MySQL(centos7.9为例)

1、环境准备

(1)Linux系统安装参考:https://www.cnblogs.com/it-log/p/17038468.html

(2)内存要求:5.6及以上版本的MySQL要求Linux系统虚拟内存不能小于1G,否则MySQL可能无法运行。

(3)卸载mariadb

[root@mysql8 ~]# rpm -qa | grep mariadb*
mariadb-libs-5.5.68-1.el7.x86_64
[root@mysql8 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
注意:rpm -e --nodeps 后面的 mariadb 需要使用根据实际查询出来的。

2、安装

1、下载

下载地址:https://mirrors.aliyun.com/mysql/MySQL-8.0/ 这里使用:mysql-8.0.28-el7-x86_64.tar.gz

2、创建目录

mkdir -p /u01/app/
mkdir -p /u01/data/3306
mkdir -p /u01/ log /3306

3、上传

将 mysql-5.7.30-el7-x86_64.tar.gz 压缩文件上传至 /opt 目录

4、解压

将MySQL压缩文件解压至 /u01/app 目录

[root@mysql8 ~]# tar -zxvf /opt/mysql-8.0.28-el7-x86_64.tar.gz -C /u01/app

5、重命名

将MySQL根目录重命名为mysql

[root@mysql8 ~]# cd /u01/app/

6、删除(可选)

删除压缩文件

[root@mysql8 ~]# rm -f /opt/mysql-8.0.28-el7-x86_64.tar.gz

7、用户与用户组

创建mysql用户和用户组,目录授权

[root@mysql8 ]# groupadd mysql
[root@mysql8 ]# useradd -r -g mysql -s /bin/ false mysql
[root@mysql8 ]# chown -R mysql:mysql /u01

8、配置环境变量

配置profile文件,配置环境变量后可以在任何地方执行 MySQL 命令。

[root@mysql8 ]# vi ~/.bash_profile
在PATH行插入mysql的bin目录的路径,如下:
PATH=$PATH:/u01/app/mysql/bin:$HOME/bin

9、配置参数文件

[root@mysql8 ]# vi /u01/data/3306/my.cnf
***点击 i 键,复制并粘贴如下配置***
[root@dbserver 3306]# cat /u01/data/3306/my.cnf 
[mysql]
default -character-set=utf8mb4
socket=/u01/data/3306/mysql.sock
[mysqld]
#skip-name-resolve
port = 3306
socket=/u01/data/3306/mysql.sock
basedir=/u01/app/mysql
datadir=/u01/data/3306/data
character-set-server=utf8mb4
default -storage-engine=INNODB
innodb_buffer_pool_size = 200M
max_allowed_packet=16M
explicit_defaults_for_timestamp=1
log -output= FILE
general_log = 0
general_log_file=/u01/ log /3306/3306db-general.err
slow_query_log = ON
slow_query_log_file=/u01/ log /3306/3306db-query.err
long_query_time=10
log -error=/u01/ log /3306/3306db-error.err
#mysql5.7的密码策略,8.0很多客户端不支持
default -authentication-plugin=mysql_native_password

10、建立链接文件

[root@mysql8 ]# ln -sf /u01/data/3306/my.cnf  /etc/my.cnf

11、初始化mysql数据库

[root@mysql8 ~]# mysqld --initialize --user=mysql  #全局变量下使用mysqld

[root@mysql8 ~]# /u01/app/mysql/bin/mysqld --initialize --user=mysql --basedir=/u01/app/mysql/ --datadir=/u01/data/3306/data/  #绝对路径下使用mysqld

注意:初始密码可以在文件/u01/log/3306/3306db-error.err中查看

11、配置centos linux启动和停止脚本

[root@mysql8 ]# vi /usr/lib/systemd/ system /mysqld.service

12、systemctl 启动和停止脚本方法

systemctl daemon-reload

systemctl stop mysqld

systemctl start mysqld

systemctl enable mysqld

systemctl status mysqld

手动启动和停止mysql的方法

nohup /u01/app/mysql/bin/mysqld_safe --defaults-file=/u01/data/3306/my.cnf & mysqladmin -uroot -p shutdown -S /u01/data/3306/mysql.sock

13、修改root密码

初始密码可以在文件/u01/log/3306/3306db-error.err中查看

mysql -uroot -p  或  /u01/app/mysql/bin/mysql -u root -p
alter user  'root' @ 'localhost' IDENTIFIED BY  'rootroot' ;

14、允许root用户远程登陆

mysql -uroot -p 
use mysql
select host,user from user where user= 'root' ;
create USER  'root' @ '%' identified by  'rootroot' ;
grant all privileges on *.* to  'root' @ '%' with grant option;
exit

15、防火墙放开3306端口

[root@mysql8 ]# firewall-cmd --permanent --zone= public --add-port=3306/tcp

 

最后就可以使用 DBMS 远程连接使用数据库了。

参考链接:http://blog.itpub.net/70004783/viewspace-2794003/

与MySQL8 概述、下载、安装、使用(Windows2019和centos7.9)相似的内容:

MySQL8 概述、下载、安装、使用(Windows2019和centos7.9)

MySQL8 概述、下载、安装、使用(Windows2019和centos7.9) 1、MySQL概述 1.1 数据库相关概念在这一部分,先了解三个概念:数据库、数据库管理系统、SQL。 名称 全称 简称 数据库 存储数据的仓库,数据是有组织的进行存储 DataBase(DB) 数据库管理系统 操纵

MySQL Explain 关键字详解

概述 explain 关键字可以模拟执行 sql 查询语句,输出执行计划,分析查询语句的执行性能 使用方式如下:explain + sql explain select * from t1 执行计划各字段含义 1. id 如果 id 序号相同,从上往下执行 如果 id 序号不同,序号大先执行 如果两

小白也能懂的Mysql数据库索引详解

核心概念 主键索引/二级索引 聚簇索引/非聚簇索引 回表/索引覆盖 索引下推 联合索引/最左联合匹配 前缀索引 explain 一、[索引定义] 1.索引定义 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法

一键部署MySQL8+keepalived双主热备高可用

概述 本次的文章会格外的长,网上大多的配置流程已经不可使用,本篇文章可以称为保姆级教程,而且通过shell脚本大大减少了部署mysql主从,双主的工作量。 如上图,VIP地址为192.168.10.100,如果主机192.168.10.129挂了,会自动切换到备机192.168.10.130上,由于

MySQL索引

索引的概述 索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引的作用就相当于书的目录。打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了。索

[转帖]一文看懂mysql数据库事务隔离级别

概述 我们都知道除了MySQL默认采用RR隔离级别之外,其它几大数据库都是采用RC隔离级别。那为啥mysql要这样设置呢?其实是MySQL为了规避一个数据复制场景中的缺陷,而选择 Repeatable Read 作为默认隔离级别。不过不同数据库实现方式还是不太一样。 Oracle仅仅实现了RC 和

[转帖]MySQL 8.0 Instant Add Column功能解析

https://zhuanlan.zhihu.com/p/408702204 概述 DDL(Data Definition Language)是数据库内部的对象进行创建、删除、修改的操作语言,主要包括:加减列、更改列类型、加减索引等类型。数据库的模式(schema)会随着业务的发展不断变化,如果没有

[转帖]PostgreSQL与MySQL 分析对比

http://www.pgsql.tech/article_101_10000079 概述 在几个流行的数据库中,我首先接触到的是MySQL,随着工作发展,接触到越来越多的是PostgreSQL数据库。这两个十分流行的开源数据库。在这之后,我就会经常和一些朋友进行讨论:MySQL和PostgreSQ

MySQL高级3-索引的结构和分类

一、索引概述 1.1 索引的介绍 索引index:是帮助 Mysql 高效获取数据 的 有序的数据结构,在数据之外,数据库系统维护着的满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引 1.2 索引的优缺点 优点1:提

【转帖】《MySQL高级篇》四、索引的存储结构

1. 为什么使用索引 假如给数据使用 二叉树 这样的数据结构进行存储,如下图所示 2、索引及其优缺点 2.1 索引概述 2.2 优点 类似大学图书馆建书目索引,提高数据检索的效率,降低 数据库的 IO 成本 这也是创建索引的主要的原因。通过创建唯一索引,可以保证数据库表中每一行 数据的唯一性 (唯一