【MySQL】CentOS7.x MySQL5.7 glibc版本的安裝

網(wǎng)上已經(jīng)有那么多的關(guān)于CentOS 7如何安裝MySQL的文章了淤翔, 為什么還要寫這沒一篇關(guān)于CentOS 7安裝MySQL的文章呢?

主要有以下幾個(gè)原因:

網(wǎng)上很多都是在線安裝胆屿,很多時(shí)候,在生產(chǎn)環(huán)境進(jìn)行部署時(shí)偶宫,生產(chǎn)機(jī)器都是不可能直接連公網(wǎng)的非迹,導(dǎo)致網(wǎng)上很多的文章沒有借鑒意義

網(wǎng)上很多文章都比較舊,安裝的MySQL版本也比較舊纯趋,沒有進(jìn)行更新憎兽,導(dǎo)致很多步驟在新的MySQL版本安裝上不適用

網(wǎng)上很多文章本身就是錯(cuò)的,很容易誤導(dǎo)讀者吵冒;

為了總結(jié)一篇實(shí)用的纯命,不誤導(dǎo)大家的文章,也讓搜索到我這篇文章的讀者們不用再浪費(fèi)時(shí)間去搜索別的安裝教程痹栖,節(jié)省大家的時(shí)間亿汞,所以抽點(diǎn)時(shí)間把如何在CentOS 7下離線安裝MySQL的步驟進(jìn)行詳細(xì)的總結(jié),為大家圖個(gè)方便揪阿,也為自己做個(gè)筆記和總結(jié)疗我。

對(duì)于MySQL的數(shù)據(jù)庫的安裝咆畏,我們有很多種選擇來完成,而最為常用的為二進(jìn)制安裝以及源碼安裝吴裤,二進(jìn)制安裝方式中旧找,包括rpm版本以及glibc版本。

rpm版本就是在特定linux版本下編譯的嚼摩,如果你的linux版本匹配,就可以安裝矿瘦,如針對(duì)RedHat6或者RedHat7編譯好的rpm包枕面,下載對(duì)應(yīng)的安裝即可。另外一種二進(jìn)制安裝包為基于特定的glibc版本編譯的缚去,本文主要描述基于glibc方式安裝MySQL潮秘。

一、實(shí)驗(yàn)環(huán)境

操作系統(tǒng):? CentOS 7.5 Minimal

MySQL:? ? 192.168.1.106

二易结、安裝包下載

官方站點(diǎn):https://downloads.mysql.com/archives/community



三枕荞、卸載相關(guān)沖突包

# rpm? -qa | grep mysql | xargs rpm -e --nodeps? ? ?> /dev/null? 2>&1

# rpm? -qa | grep mariadb | xargs rpm -e --nodeps? > /dev/null? 2>&1

四、檢查依賴

# rpm -qa | grep??libaio

# rpm -qa | grep glibc

# yum? -y install libaio glibc?

注:要求Linux系統(tǒng)的glibc版本要比2.12新搞动,可以使用ldd --version查看glibc版本躏精。


#? ldd --version




五、檢查虛擬機(jī)內(nèi)存

檢查系統(tǒng)的虛擬內(nèi)存大小鹦肿,如果內(nèi)存不足 1G矗烛,啟動(dòng) mysql 的時(shí)候可能會(huì)產(chǎn)生下面這個(gè)錯(cuò)誤提示:

Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code.

See "systemctl status mysqld.service" and "journalctl -xe" for details.[FAILED]

網(wǎng)上各種找解決方案,大部分都是什么文件權(quán)限箩溃、mysql 日志太大瞭吃,重裝等問題,然而沒用涣旨!

內(nèi)存設(shè)置過小歪架,耗費(fèi)大量的精力和時(shí)間去調(diào)試始終也啟動(dòng)沒成功。



六霹陡、selinux和防火墻設(shè)置

# setenforce 0

# sed? -i? 's/^SELINUX=.*/SELINUX=permissive/g'? /etc/selinux/config

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

#?firewall-cmd --reload

七和蚪、創(chuàng)建MySQL用戶和用戶組

# groupadd? -r? mysql

#? useradd? -r -g? mysql? -s? /sbin/nologin? ? -M? mysql

八、安裝MySQL

# tar -xf?mysql-5.7.24-linux-glibc2.12-x86_64.tar?

# tar? -zxf?mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz? -C /usr/local

# cd? /usr/local

# mv? mysql-5.7.24-linux-glibc2.12-x86_64/? ? mysql

初始化數(shù)據(jù)庫

方式一烹棉、以“安全模式”初始化

# mdkir -p /opt/data/mysql

# chown -R mysql:mysql /opt/data/mysql

# mysqld? - -initialize? ?--datadir=/opt/data/mysql? ?--user=mysql

數(shù)據(jù)庫初始化時(shí)惠呼,無需配置文件 my.cnf,啟動(dòng)mysql時(shí)才需my.cnf

如果數(shù)據(jù)初始化時(shí)峦耘,有my.cnf剔蹋,默認(rèn)讀取my.cnf,但是相關(guān)文件中相關(guān)目錄辅髓,文件權(quán)限需要提前創(chuàng)建和配置泣崩,此時(shí)初始化臨時(shí)密碼不會(huì)打印在控制少梁,而是在指定的日志文件中!

方式二矫付、以?“非安全模式”初始化

#?mysqld? ?--initialize? ?--basedir=/usr/local/mysql? ? --datadir=/opt/data/mysql? ?--user=mysql?

用這種方式此時(shí)凯沪,my.cnf應(yīng)該在初始化之后,啟動(dòng)數(shù)據(jù)庫之前生成买优,也就是說初始化時(shí)妨马,不用從/etc/my.cnf中讀取任何東西!

1. 初始化為數(shù)據(jù)庫

2. 生成 my.cnf

3. 啟動(dòng)MySQL



# touch? /var/log/mysqld.log

# chown mysql:mysql? /var/log/mysqld.log


默認(rèn)mysql初始化時(shí)杀赢,無需在mysqld.log烘跺,初始化密碼會(huì)打印在控制臺(tái)。

啟動(dòng)mysql時(shí),會(huì)自動(dòng)生成脂崔,默認(rèn)路徑是/var/log/mysqld/log滤淳,但如果初始化時(shí)在my.cnf中執(zhí)行此文件,那么需要提前創(chuàng)建和更改相關(guān)權(quán)限砌左!


# cat? /etc/my.cnf

###########################################

[client]

port=3306

socket=/var/lib/mysql/mysql.sock

[mysqld]

user=mysql

basedir=/usr/local/mysql?

datadir=/opt/data/mysql

socket=/var/lib/mysql/mysql.sock

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

innodb_buffer_pool_size = 2G

innodb_log_file_size = 512M

innodb_flush_log_at_trx_commit = 1

innodb_flush_method = O_DIRECT

innodb_file_per_table=1

query_cache_type = 0

skip_name_resolve

log-bin=master-bin

binlog_format= ROW

max_connections = 1000

server_id=100

port=3306

sync_binlog=0

log_bin_trust_function_creators = 1

log_queries_not_using_indexes

slow_query_log=0

long_query_time=1

validate_password_check_user_name=on

plugin-load-add=validate_password.so

plugin-load-add=semisync_master.so

plugin-load-add=semisync_slave.so

loose_rpl_semi_sync_master_enabled = 1

loose_rpl_semi_sync_slave_enabled = 1

loose_rpl_semi_sync_master_timeout = 1000

validate-password=FORCE_PLUS_PERMANENT

validate_password_length=8

validate_password_policy=0

lower_case_table_names=1

gtid_mode= on

enforce_gtid_consistency

slave-parallel-type=LOGICAL_CLOCK

slave-parallel-workers=16

max_allowed_packet=256M

innodb_monitor_enable=all

character_set_server=utf8

local_infile=0

skip-symbolic-links=1

master_info_repository=table

relay-log-info-repository=table

relay_log_recovery=ON

sql-mode="ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,STRICT_ALL_TABLES"

wait_timeout=300

interactive_timeout=300

expire_logs_days=7

##################################################

# cd mysql?

#?cp?./support-files/mysql.server?/etc/rc.d/init.d/mysqld

# sed -i? 's#^basedir=#basedir=/usr/local/mysql#g'?? /etc/init.d/mysqld

# sed -i? 's#^datadir=#datadir=/opt/data/mysql#g'? ? ?/etc/init.d/mysqld?


此處basedir="" 和 datadir=""如果不設(shè)置脖咐,那么從my.cnf中讀取,如果my.cnf中設(shè)置了汇歹,此處無需再設(shè)置屁擅!

#chmod?+x?/etc/rc.d/init.d/mysqld

#?chkconfig?--add?mysqld

#?chkconfig? mysqld? on?

# systemctl start? mysqld

# systemctl enable? mysqld

# sytemctl status? mysqld


# mkdir /var/lib/mysql

#??chown? -R mysql:mysql? ?/var/lib/mysql


如果不在my.cnf中指定,那么啟動(dòng)mysql的socket文件mysql.sock默認(rèn)生成在在/tmp目錄下

我們?cè)趍y.cnf中指定 socket=/var/lib/mysql/mysql.sock,那么需要提前創(chuàng)建相關(guān)目錄产弹,更改相關(guān)權(quán)限煤蹭。

# mkdir /var/run/mysqld

#?chown -R mysql:mysql /var/run/mysqld



如果my.cnf不指定pid文件路徑,那么為 ${datadir}/主機(jī)名.pid

如果在my.cnf中指定了取视,那么需要提前創(chuàng)建相關(guān)路徑硝皂,更改相關(guān)權(quán)限。

# ln -s /var/lib/mysql/mysql.sock? /tmp/


# mysql? ?-u root? -p"lJe;w85Oqg6d"


mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '設(shè)置的新密碼';


# mysql -u root -p"MySQL@123"



九作谭、參考

CentOS 7離線安裝MySQL 5.7

https://www.jellythink.com/archives/14

Linux 系統(tǒng)安裝下安裝 MySQL5.7(glibc版)

https://www.cnblogs.com/zero-gg/p/8875598.html

MySQL5.7安裝與配置

http://www.reibang.com/p/c504c655885d?tdsourcetag=s_pcqq_aiomsg

The world's most popular open source database?

https://dev.mysql.com

A Quick Guide to Using the MySQL Yum Repository

https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

Installing MySQL on Linux Using the MySQL Yum Repository

https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

CentOS Linux 7離線安裝MySQL 5.7.x

https://zhuanlan.zhihu.com/p/34719781

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末稽物,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子折欠,更是在濱河造成了極大的恐慌贝或,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锐秦,死亡現(xiàn)場(chǎng)離奇詭異咪奖,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)酱床,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門羊赵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事昧捷∠姓眩” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵靡挥,是天一觀的道長(zhǎng)序矩。 經(jīng)常有香客問我,道長(zhǎng)跋破,這世上最難降的妖魔是什么簸淀? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮毒返,結(jié)果婚禮上租幕,老公的妹妹穿的比我還像新娘。我一直安慰自己饿悬,他們只是感情好令蛉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布聚霜。 她就那樣靜靜地躺著狡恬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蝎宇。 梳的紋絲不亂的頭發(fā)上弟劲,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音姥芥,去河邊找鬼兔乞。 笑死,一個(gè)胖子當(dāng)著我的面吹牛凉唐,可吹牛的內(nèi)容都是我干的庸追。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼台囱,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼淡溯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起簿训,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤咱娶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后强品,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膘侮,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年的榛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了琼了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡夫晌,死狀恐怖表伦,靈堂內(nèi)的尸體忽然破棺而出谦去,到底是詐尸還是另有隱情,我是刑警寧澤蹦哼,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布鳄哭,位于F島的核電站,受9級(jí)特大地震影響纲熏,放射性物質(zhì)發(fā)生泄漏妆丘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一局劲、第九天 我趴在偏房一處隱蔽的房頂上張望勺拣。 院中可真熱鬧,春花似錦鱼填、人聲如沸药有。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愤惰。三九已至,卻和暖如春赘理,著一層夾襖步出監(jiān)牢的瞬間宦言,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工商模, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奠旺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓施流,卻偏偏與公主長(zhǎng)得像响疚,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瞪醋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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