MySQL8 概述、下載、安裝、使用(Windows2019和centos7.9)

来源:https://www.cnblogs.com/it-log/archive/2023/07/18/17525448.html
-Advertisement-
Play Games

MySQL8 概述、下載、安裝、使用(Windows2019和centos7.9) 1、MySQL概述 1.1 資料庫相關概念在這一部分,先瞭解三個概念:資料庫、資料庫管理系統、SQL。 名稱 全稱 簡稱 資料庫 存儲數據的倉庫,數據是有組織的進行存儲 DataBase(DB) 資料庫管理系統 操縱 ...


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/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 文章代碼分析基於linux-5.19.13,架構基於aarch64(ARM64)。 # 1. 前言 複雜IC內部有很多具有獨立功能的硬體模塊,例如CPU cores、GPU cores、USB控制器、MMC控制器、等等,出於功耗、穩定性等方面的考慮,有些IC在內部為這些硬體模塊設計了複位信號(res ...
  • 以下內容為本人的學習筆記,如需要轉載,請聲明原文鏈接[ 微信公眾號「ENG八戒」](https://mp.weixin.qq.com/s/w8YV_TUb4QwsgChu3AspHg)[https://mp.weixin.qq.com/s/w8YV\_TUb4QwsgChu3AspHg](https ...
  • Atom N2600, N2800 的某些舊型號機器, 安裝 Ubuntu 時在安裝界面選擇安裝後, 啟動過程中會卡住, 或者數秒即黑屏, 再無反應. 這個問題對於Debian系的其他發行版 Lubuntu, Linux Mint, Debian 都一樣, 但是用Win PE盤可以正常啟動. 經各種... ...
  • ## 文件操作和用戶 ### 複製移動和刪除 在Windows中我們可以通過快捷鍵 ctrl + c 複製,ctrl + v 粘貼,在 linux 中需要使用命令。 #### 複製移動 `cp` 就是 copy 的意思。請看示例: ```javascript // 將 a.txt 複製一份,重命名為 ...
  • 之前將自己所有的 `Http` 站點全部更新為 `Https` 站點,但是在請求後臺介面服務的時候還是 `Http` 請求,導致部署之後,直接在控制台報 `This request has been blocked; the content must be served over HTTPS;` 的... ...
  • # 引言 ## 操作系統的目標 + abstract H/W `抽象化硬體` + multiplex `多路復用` + isolation `隔離性` + sharing `共用(進程通信,數據共用)` + security / access control `安全性/許可權控制` + perform ...
  • ![](https://img2023.cnblogs.com/blog/3076680/202307/3076680-20230717130541155-2006675036.png) # 1. 對於複雜的數值計算而言,SQL 並非首選工具 # 2. 求和 ## 2.1. SUM函數會忽略Null ...
  • 一、介紹 DCL:Data Control Language(數據控制語言),用來管理資料庫用戶,控制資料庫的訪問,許可權。 二、用戶管理 1、查詢用戶 語法: 1、use mysql; 2、select * from user; 預設只有四個賬戶。 2、創建用戶 語法:create user '用戶 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...