CentOS7安裝MYSQL8.X詳細教程

来源:https://www.cnblogs.com/LaoPaoEr/archive/2022/03/18/16023644.html
-Advertisement-
Play Games

1-首先查看系統是否存在mysql,無則不返回 # rpm -qa|grep mysql 2-安裝wget # yum -y install wget 3-抓取mariadb並刪除包,無則不返回 # rpm -qa|grep mariadb 4-刪除mariadb-libs-5.5.68-1.el7 ...


1-首先查看系统是否存在mysql,无则不返回

# rpm -qa|grep mysql

2-安装wget

# yum -y install wget

3-抓取mariadb并删除包,无则不返回

# rpm -qa|grep mariadb

4-删除mariadb-libs-5.5.68-1.el7.x86_64

# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

5-配置阿里云的yum

# wget http://mirrors.aliyun.com/repo/Centos-7.repo 

6-配置成功后需要重新加载yum

# yum clean all    --清除yum
# yum makecache    --清除缓存
# yum repolist     --查看仓储包   

7-进入tmp文件夹,并清空

# cd /tmp/
# rm -rf *

8-通过wget下载mysql8.0包(如果包不是最新的则需要注意在安装MYSQL前进行Mysql的GPG升级)
获取最新的包打开MYSQL官网wget https://dev.mysql.com/get/Downloads/

然后拼接在[wget https://dev.mysql.com/get/Downloads/]后面

wget https://dev.mysql.com/get/Downloads/mysql-community-server-8.0.27-1.el7.x86_64.rpm

本教程提供的yum源包

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

9-配置mysql的yum源

# sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

执行成功后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo 及 mysql-community-source.repo
10-进入yum.repos.d查看

# cd /etc/yum.repos.d/ 
# ls -l

11-开始安装Mysql

# yum install -y  mysql-community-server 

注意:上面提到过,通过wget获取的MYSQL包不是最新的前提下有可能报错,这是因为MYSQL的GPG升级了,需要重新获取
如果无这个报错可忽略跳过本步骤

 报错信息如下:
 Failing package is: mysql-community-client-8.0.28-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

12-这个时候需要重执行(2022则为今年的年份),执行完GPG升级,需要重新安装

# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# yum install -y  mysql-community-server 

13-安装完成

打开my.cnf文件增加以下 [skip-name-resolve] 语句到末尾(这一步可不做设置)

# vi /etc/my.cnf  

#跳过名称解析,提高数据库的连接速度
# skip-name-resolve

14-启动MYSQL服务,并查看状态,查看端口

# systemctl start mysqld        --启动mysql服务
# systemctl status mysqld       --查看mysql服务状态
# netstat  -nlpt | grep mysqld  --查看端口

15-设置开机启动

# systemctl enable mysqld
# systemctl daemon-reload

16-抓取mysql临时密码

# cat /var/log/mysqld.log  | grep password

17-登录进mysql
mysql -u<账号> -p<密码> -P<端口号,默认3306> -h<mysqld服务器IP,如果比指定"-h" 则表示本地登陆>

mysql  -uroot  -p

18-更改密码(必须是强密码),并刷新(mysql结尾一定要加英文分号;)

mysql> alter user 'root'@'localhost'  identified by 'Root123..';  --修改密码(强密码)
mysql> flush privileges;                                          --刷新,立即生效
mysql> select user,host from mysql.user;                          --查看数据库中账号信息

弱密码会报错,如图

做这一步前提:必须是修改了默认的随机密码(执行步骤18)
关掉强密码,修改密码长度最短为6位数,修改密码为弱密码

mysql> set global validate_password.policy=0; --关掉强密码认证
mysql> set global validate_password.length=6; --密码长度最短为6位数
mysql> alter user 'root'@'localhost'  identified by '123456';  --修改密码(弱密码)

19-开放3306端口,并且重启防火墙,然后查看端口,开放端口是为了外网能通过Navicat Premium等其他工具访问

# firewall-cmd --zone=public --add-port=3306/tcp --permanent --开放3306端口
# firewall-cmd --reload                                      --重启防火墙
# firewall-cmd --list-ports                                  --查看开放的端口


做完如上部署,重新登录进到数据库,修改user表中的Host:

# mysql -uroot -p123456                            --登录数据库
mysql> show databases;                             --查数据来库
mysql> use mysql;                                  --使用数据库
mysql> select Host, User from user;                --查询表
mysql> update user set Host='%' where User='root'; --修改User表内root用户的Host为%
mysql> flush privileges;                           --刷新



MYSQL知识点

如果创建一个用户,给予单个库权限

mysql> create database  test_data;                                          --创建一个数据库
mysql>  create user admin@'%' identified  by 'Admin@123..';                --创建一个新的用户 admin 密码 Admin@123..
mysql> grant all privileges on test_data.* to admin@'%' with grant option; --授权,给test_data库的所有权限
mysql> flush privileges;                                                   --刷新

MySQL5.6版本和8.0版本的的用户授权方式不同

MySQL5.6版本的用户授权

mysql> create user test identified by '123456';
mysql> grant all privileges on *.* to 'admin'@'%'identified by '123456' with grant option;
mysql> flush privileges ;

MySQL8.0版本的用户授权

mysql> create user test@'%' identified  by '123456';
mysql> grant all privileges on *.* to admin@'%' with grant option;
mysql> flush privileges;

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

-Advertisement-
Play Games
更多相關文章
  • 比如要拆分“呵呵呵90909086676喝喝999”,下麵當type=0返回的是中文字元串“呵呵呵,喝喝”,type=1返回的是數字字元串“90909086676,999”, private string GetStrings(string str,int type=0) { IList<strin ...
  • 一、Vim編譯器 1.什麼是vim編譯器 Vim相當於vi的升級版 Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程式員中被廣泛使用。 簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程式開發 ...
  • ls 列出當前目錄下所有文件 https://files.cnblogs.com/files/zhangzongjian/ls.css | 參數 | 描述 | 樣例 | 樣例說明 | | | | | | | -l | 詳細文件信息 | | | | -t | 修改時間排序 | | | | -r | 倒 ...
  • linux的三種軟體安裝及基本環境安裝 安裝軟體一般有三種方式: rpm 解壓縮 yum線上安裝 1.JDK安裝(rpm安裝) 1.rpm下載地址http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.如果有安裝ope ...
  • Linux學習 一、入門概述 我們為什麼要學Linux Linux誕生了這麼多年,以前還喊著如何能取代windows系統,現在這個口號已經小多了,任何事物發展都有其局限性都有其天花板。就如同在國內再搞一個社交軟體取代騰訊一樣,想想而已基本不可能,因為用戶已經習慣於使用微信交流,不是說技術上實現不瞭解 ...
  • 一、什麼是Shell腳本 Shell腳本(英語:Shell script),又稱Shell命令稿、程式化腳本,是一種電腦程式與文本文件,內容由一連串的shell命令組成,經由Unix Shell直譯其內容後運作。被當成是一種腳本語言來設計,其運作方式與直譯語言相當,由Unix shell扮演命令行解 ...
  • -- 痞子衡維護的 NXP-MCUBootUtility 工具距離上一個大版本(v3.4.0)發佈過去半年了,這一次痞子衡為大家帶來了版本升級 v3.5.0,這個版本主要有幾個非常重要的更新需要跟大家特別說明一下。 一、v3.5更新記錄 二、幾個不可忽視的更新 2.1 支持串列NOR雙程式啟動下載 ...
  • KVM/PVE Disk I/O Cache Selecting Guide ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...