Centos7安裝和配置Mysql8

Centos7安裝和配置Mysql8

一、yum方式安裝

1.由于centOS7中默認(rèn)安裝了MariaDB,需要先進(jìn)行卸載

rpm -qa | grep -i mariadb

rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

新增:經(jīng)實(shí)踐在使用yum方式安裝MySQL時(shí)不用卸載也可以反砌,會(huì)被自動(dòng)替代? 通過rpm方式安裝需要卸載,否則會(huì)出現(xiàn)依賴問題


查詢下本機(jī)mysql是否卸載干凈

rpm -qa | grep mysql

若有殘留也需要卸載

2.下載MySQL倉庫并安裝

進(jìn)入mysql官網(wǎng)獲取RPM包下載地址

https://dev.mysql.com/downloads/repo/yum/



獲取到下載地址葱轩。然后wget下載安裝包

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


yum -y install mysql80-community-release-el7-7.noarch.rpm


2022年5月2日更新:

安裝過程中可能遇到如下報(bào)錯(cuò)無法安裝,原因是Mysql的GPG升級(jí)了藐握,需要重新獲取


執(zhí)行以下命令再安裝即可

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

3.默認(rèn)安裝MySQL8.0靴拱,如果需要安裝MySQL5.7的話需要修改/etc/yum.repos.d/mysql-community.repo配置文件

將mysql80中enabled屬性改為0,并添加圖中紅框內(nèi)代碼(安裝MySQL8.0跳過該步驟)


4.安裝MySQL數(shù)據(jù)庫

yum -y install mysql-community-server

5.開啟mysql服務(wù)

systemctl start mysqld.service

6.查看mysql默認(rèn)密碼并登陸

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


mysql -uroot -p

二猾普、rpm方式安裝

首先去官網(wǎng)下載完整rpm包


下載mysql5.7的話點(diǎn)擊這里跳轉(zhuǎn)至下載頁面

解壓tar包


依次安裝所需要的rpm包即可

rpm-ivhmysql-community-common-8.0.23-1.el7.x86_64.rpm

rpm-ivhmysql-community-libs-8.0.23-1.el7.x86_64.rpm--force--nodeps

rpm-ivhmysql-community-libs-compat-8.0.23-1.el7.x86_64.rpm

rpm-ivhmysql-community-client-plugins-8.0.23-1.el7.x86_64.rpm

rpm-ivhmysql-community-client-8.0.23-1.el7.x86_64.rpm

rpm-ivhmysql-community-server-8.0.23-1.el7.x86_64.rpm

安裝完成后可以查看下已安裝的組件

rpm -qa | grep mysql


之后mysql的配置同上所述

相關(guān)軟件包(根據(jù)需要安裝即可)

mysql-community-client-5.7.18-1.el7.x86_64.rpm 客戶端

mysql-community-devel-5.7.18-1.el7.x86_64.rpm 開發(fā)庫

mysql-community-embedded-5.7.18-1.el7.x86_64.rpm 嵌入式

mysql-community-server-5.7.18-1.el7.x86_64.rpm 服務(wù)端

mysql-community-libs-5.7.18-1.el7.x86_64.rpm 共享庫

mysql-community-test-5.7.18-1.el7.x86_64.rpm 測(cè)試組件

三袜炕、MySQL相關(guān)配置修改

1.修改初始密碼(若想改為弱密碼)

SHOW variables LIKE 'validate_password%';


注:有可能遇到如下圖情況,此時(shí)先修改密碼為強(qiáng)密碼初家,便可以繼續(xù)進(jìn)行修改密碼驗(yàn)證策略操作


將密碼驗(yàn)證策略改為L(zhǎng)OW,密碼長(zhǎng)度4位以上

1 set global validate_password.policy=0; ?? #有的MySQL版本為validate_password_policy,此處請(qǐng)以上一步查詢到的字段名稱為準(zhǔn)

2 set global validate_password.length=4; #重啟MySQL后失效



此時(shí)再進(jìn)行修改密碼操作笤成,可以修改為弱密碼了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';

以后便可以使用你自己設(shè)置的密碼登陸

按照上述步驟你可以修改密碼為123456之類的密碼评架。但是有時(shí)候我們?yōu)榱朔奖阌洃涀莸赡芟胍衙艽a改為root之類的嗡呼。這時(shí)候只操作上面步驟改不了。百度了很多文章都是修改上述兩個(gè)策略皇耗。

這時(shí)候可以關(guān)閉檢查

set global validate_password.check_user_name = 0;

其實(shí)一開始就可以直接關(guān)閉南窗。不用設(shè)置set global validate_password.policy=0;set global validate_password.length=4郎楼;這倆万伤。直接給檢查關(guān)閉了。但是受5.7安裝影響呜袁。首先想到的是更改這兩個(gè)策略


2.設(shè)置遠(yuǎn)程連接(前提:關(guān)閉防火墻或開放3306端口)

先查看防火墻狀態(tài)

firewall-cmd --state

狀態(tài)結(jié)果敌买。running為開啟,not running為關(guān)閉

查看開放的端口號(hào)

firewall-cmd --list-all

設(shè)置開放的端口號(hào)

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重啟防火墻并查看是否生效

firewall-cmd --reload? ? ?

firewall-cmd --list-all


在實(shí)際工作中阶界,經(jīng)常會(huì)用到諸如DBeaver等的數(shù)據(jù)庫管理工具進(jìn)行遠(yuǎn)程連接mysql數(shù)據(jù)庫虹钮,需要設(shè)置允許遠(yuǎn)程連接聋庵。

在mysql數(shù)據(jù)庫的user表中查看host,默認(rèn)只允許localhost訪問



只需將localhost改為%允許任意地址訪問即可

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

flush privileges; ? ? ? ? ? ? # 刷新權(quán)限 權(quán)限更新后刷新才會(huì)起作用


注:如果使用客戶端連接提示了plugin caching_sha2_password錯(cuò)誤芙粱,這是因?yàn)镸ySQL8.0的密碼策略默認(rèn)為caching_sha2_password(MySQL5.7無此問題)

update user set plugin = 'mysql_native_password' where user = 'root';

flush privileges; ? ? ? ? ? ? # 刷新權(quán)限 權(quán)限更新后刷新才會(huì)起作用


3.測(cè)試連接


4.my.cnf配置文件簡(jiǎn)介

前言:若使用rpm方式安裝珍策,可能無/etc/my.cnf配置文件,需將/usr/share/mysql目錄下配置文件復(fù)制至/etc目錄下

cp /usr/share/mysql/my-large.cnf /etc/my.cnf

[client]

port = 3306

socket = /var/run/mysql/mysql.sock

[mysqldump]

quick

max_allowed_packet = 16M

以上參數(shù)會(huì)被 MySQL 客戶端應(yīng)用讀取宅倒,參數(shù)說明如下:

port:MySQL 客戶端連接服務(wù)器端時(shí)使用的端口號(hào),默認(rèn)為 3306

socket:套接字文件所在目錄

quick:支持較大的數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)屯耸,導(dǎo)出非常巨大的表時(shí)需要此項(xiàng)拐迁。

max_allowed_packet:服務(wù)所能處理的請(qǐng)求包的最大大小以及服務(wù)所能處理的最大的請(qǐng)求大小(當(dāng)與大的BLOB字段一起工作時(shí)相當(dāng)必要)疗绣,每個(gè)連接獨(dú)立的大小线召,大小動(dòng)態(tài)增加。

[mysqld]

user = mysql

basedir = /usr/local/mysql

datadir = /mydata/mysql/data

port = 3306

server-id = 1

socket = /var/run/mysql/mysql.sock

上述參數(shù)說明如下:

user:mysqld 程序在啟動(dòng)后將在給定 UNIX/Linux 賬戶下執(zhí)行多矮。mysqld 必須從 root 賬戶啟動(dòng)才能在啟動(dòng)后切換到另一個(gè)賬戶下執(zhí)行缓淹。mysqld_safe 腳本將默認(rèn)使用 user=mysql 選項(xiàng)來啟動(dòng) mysqld 程序。

basedir:指定 MySQL 安裝的絕對(duì)路徑塔逃;

datadir:指定 MySQL 數(shù)據(jù)存放的絕對(duì)路徑讯壶;

port:服務(wù)端口號(hào),默認(rèn)為 3306

server-id:MySQL 服務(wù)的唯一編號(hào)湾盗,每個(gè) MySQL 服務(wù)的 id 需唯一伏蚊。

socket:socket 文件所在目錄

character-set-server = utf8mb4

collation-server = utf8mb4_general_ci

init_connect = 'SET NAMES utf8mb4'

lower_case_table_names = 1

key_buffer_size = 16M

max_allowed_packet = 8M

no-auto-rehash

sql_mode=TRADITIONAL

skip-grant-tables

character-set-server:數(shù)據(jù)庫默認(rèn)字符集

collation-server:數(shù)據(jù)庫字符集對(duì)應(yīng)一些排序等規(guī)則,注意要和character-set-server對(duì)應(yīng)

init_connect:設(shè)置client連接mysql時(shí)的字符集格粪,防止亂碼

lower_case_table_names:是否對(duì)sql語句大小寫敏感躏吊,1表示不敏感(MySQL8.0+需要初始化之前設(shè)置)

key_buffer_size:用于指定索引緩沖區(qū)的大小

max_allowed_packet:設(shè)置一次消息傳輸?shù)淖畲笾?/p>

no-auto-rehash:僅僅允許使用鍵值的UPDATES和DELETES

sql_mode:表示 SQL 模式的參數(shù),通過這個(gè)參數(shù)可以設(shè)置檢驗(yàn) SQL 語句的嚴(yán)格程度

skip-grant-tables:跳過密碼驗(yàn)證 (平時(shí)不要開啟帐萎,忘記root密碼時(shí)再使用)

忘記root密碼時(shí):

重置root密碼為空(開啟skip-grant-tables)

UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末比伏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子疆导,更是在濱河造成了極大的恐慌赁项,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澈段,死亡現(xiàn)場(chǎng)離奇詭異肤舞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)均蜜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門李剖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人囤耳,你說我怎么就攤上這事篙顺∨忌郑” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵德玫,是天一觀的道長(zhǎng)匪蟀。 經(jīng)常有香客問我,道長(zhǎng)宰僧,這世上最難降的妖魔是什么材彪? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮琴儿,結(jié)果婚禮上段化,老公的妹妹穿的比我還像新娘。我一直安慰自己造成,他們只是感情好显熏,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晒屎,像睡著了一般喘蟆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鼓鲁,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天蕴轨,我揣著相機(jī)與錄音,去河邊找鬼骇吭。 笑死尺棋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绵跷。 我是一名探鬼主播膘螟,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼碾局!你這毒婦竟也來了荆残?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤净当,失蹤者是張志新(化名)和其女友劉穎内斯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體像啼,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡俘闯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年鲜棠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夏跷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黍翎。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谴供,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扯俱,到底是詐尸還是另有隱情蹋艺,我是刑警寧澤猛蔽,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站旗扑,受9級(jí)特大地震影響蹦骑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜臀防,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一眠菇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧袱衷,春花似錦捎废、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽怖侦。三九已至篡悟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間匾寝,已是汗流浹背搬葬。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艳悔,地道東北人急凰。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像猜年,于是被迫代替她去往敵國(guó)和親抡锈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容