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/