您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么在CentOS7下安裝MySQL”,在日常操作中,相信很多人在怎么在CentOS7下安裝MySQL問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么在CentOS7下安裝MySQL”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
情況說明
由于工作需要,需要在一臺裝有 CentOS 系統的測試服務器上安裝 MySQL ,由于該服務器上存有其他比較重要的測試數據,所以不能連接外網。由于之前安裝 MySQL 一直都是使用 yum 命令一鍵搞定的,所以手動安裝的話還是有些麻煩的。所以在這里我將我在安裝過程中遇到的一些問題記錄下來。
在開始之前不得不吐槽一下,網上有一些教程實在是太坑爹,教程直接復制粘貼別人的,不寫環境,沒有版本號說明。看著就火大。
本文安裝的MySQL為安裝最基本的功能,如需要安裝其他附加功能,請查看官方文檔。
本文適用于服務器不能聯網的情況下的安裝操作
安裝
環境說明
以下是我在寫本文章時所用到的一些環境說明。
對于其他版本版本的環境,我沒有進行測試,所以不保證能夠成功,不過小版本號之間不同應該沒有什么大礙。
項目 | 版本 | 說明 |
---|---|---|
操作系統 | CentOS 7.2.1511 x86_64 | 最小化安裝 |
MySQL | Community 5.7.18-1.el7.x86_64 | rpm包 |
注:可以使用 cat /etc/redhat-release 命令,來確定自己安裝的CentOS的具體版本。
準備工作
下載 MySQL 的安裝包,這里推薦使用搜狐的鏡像站下載,因為從MySQL官網下載的速度實在感人,鏡像地址 選擇對應的版本號下載即可。我在此使用的rpm包有以下4個:
mysql-community-client-5.7.18-1.el7.x86_64.rpm
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm
mysql-community-server-5.7.18-1.el7.x86_64.rpm
以上四個rpm包是必須的,如果還需要其他的功能,可以自行進行下載。以當前版本為例,包含全部的rpm包的文件為mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
下載 numactl 軟件包:
numactl-2.0.9-6.el7_2.x86_64.rpm
numactl-devel-2.0.9-6.el7_2.x86_64.rpm
numactl-libs-2.0.9-6.el7_2.x86_64.rpm
下載其他相關支持:
perl-Data-Dumper-2.145-3.el7.x86_64.rpm
libaio-0.3.109-13.el7.x86_64.rpm
以上軟件包是待會兒要用到的,請提前準備好。這個軟件包網上直接搜索就能下載得到,這里提供一個下載地址下載地址 直接在搜索框搜索即可,下載時注意看版本號和位數(64位)
將下載好的軟件包一并上傳到服務器上,準備安裝。
安裝
以下只是我的安裝順序,其實這些軟件包的安裝順序沒有太多明確的要求,不一定非要按以下順序安裝,但是可以會有一些相關的依賴問題,如果拋出依賴相關的錯誤,只要把上邊對應的依賴安裝上在重試一次即可。
安裝 libaio-0.3.109-13.el7.x86_64.rpm
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
安裝perl-Data-Dumper-2.145-3.el7.x86_64.rpm
rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm
以上這兩項安裝時我并沒有遇到依賴問題,如果在實際安裝時遇到了,請查看相關提示,在下載對應的包安裝即可。
安裝numactl相關
rpm -ivh numactl*
如果不安裝此包,我們將會得到如下錯誤
error: Failed dependencies: libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64 libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64 libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64
若此時直接安裝mysql,我們會得到一個異常:
warning: mysql-community-libs-5.7.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies: mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.18-1.el7.x86_64 mariadb-libs is obsoleted by mysql-community-libs-5.7.18-1.el7.x86_64
***行還能看明白,是依賴問題,第二行的“mariadb-libs 被廢棄”是什么鬼?廢棄了為什么不提供一個新的還要出現這種***提示呢?經過一番搜尋,才發現是因為在CentOS 7上已經有一個mariadb 而這個會與 MySQL的mariadb發生沖突。所以此時我們需要將系統自帶的mariadb卸載掉,然后使用mysql自帶的mariadb。
我們先來查看系統安裝的版本rpm -qa | grep mariadb,隨后進行卸載,卸載的過程中會提示不能卸載,因為有其他軟件依賴此包,我們要加上 --nodeps 參數強制卸載
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
注意我上述寫的 mariadb-libs-5.5.37-1.el7_0.x86_64 是我剛剛用rpm -qa | grep mariadb查詢出的結果。不同版本可能會有所不同。
解決好這個問題后,就可以安裝mysql了,rpm -ivh mysql-community-* 即可。
啟動
使用 service mysqld start 命令啟動mysql實例,為了驗證,我們使用service mysqld status驗證一下。輸出結果如下:
Redirecting to /bin/systemctl status mysqld.service ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2017-07-03 15:39:02 CST; 5s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 28054 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 27978 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 28056 (mysqld) CGroup: /system.slice/mysqld.service └─28056 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid Jul 03 15:38:57 nodemaster systemd[1]: Starting MySQL Server...Jul 03 15:39:02 nodemaster systemd[1]: Started MySQL Server.
登錄
我們使用 mysql -u root時會提示我們要輸入密碼,這個密碼存儲在 /var/log/mysqld.log 文件內,是系統自動生成的。我們可以使用 cat /var/log/mysqld.log | grep password 命令將密碼找出來,然后填入,進行登錄,登錄之后進行修改密碼等操作。這些操作在官方文檔上都有詳細的說明,可以自行查看。
到此,關于“怎么在CentOS7下安裝MySQL”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。