引言
最近某云搞活動俊啼,買了個服務(wù)器作為平時學(xué)習(xí)和測試用剂陡,新機(jī)器啥也沒有摊唇,一些常用軟件的安裝是免不了的咐蝇,于是乎想著把安裝過程都詳細(xì)記錄下來,一是做個備忘巷查,二是給有需要的同學(xué)作個參考有序。
Linux上安裝軟件常見的幾種方式:
源碼編譯
壓縮包解壓(一般為tar.gz)
編譯好的安裝包(RPM抹腿、DPKG等)
在線安裝(YUM、APT等)
以上幾種方式便捷性依次增加旭寿,但通用性依次下降警绩,比如直接下載壓縮包進(jìn)行解壓,這種方式一般需要自己做一些額外的配置工作盅称,但只要掌握了方法肩祥,各個平臺基本都適用,YUM雖然簡單缩膝,但是平臺受限混狠,網(wǎng)絡(luò)受限,必要的時候還需要增加一些特定YUM源逞盆。
幾種安裝方式最好都能掌握檀蹋,原則上能用簡單的就用簡單的:YUM>RPM>tar.gz>源碼
本文是介紹MySQL在CentOS上的安裝,主要步驟都是參考了MySQL官方文檔:https://dev.mysql.com/doc/refman/5.7/en/installing.html
為了測試不同安裝方式云芦,反復(fù)折騰了好幾次俯逾,裝了刪,刪了裝舅逸,每個步驟都是親測成功的桌肴,每條命令都是親自執(zhí)行過的,可以放心使用
咱們閑話少說琉历,書歸正傳(這閑話就不少了...)
一坠七、YUM
0、刪除已安裝的MySQL
檢查MariaDB
shell> rpm -qa|grep mariadbmariadb-server-5.5.60-1.el7_5.x86_64mariadb-5.5.60-1.el7_5.x86_64mariadb-libs-5.5.60-1.el7_5.x86_64
刪除mariadb
如果不存在(上面檢查結(jié)果返回空)則跳過步驟
shell> rpm -e--nodeps mariadb-servershell> rpm -e--nodeps mariadbshell> rpm -e--nodeps mariadb-libs
其實yum方式安裝是可以不用刪除mariadb的旗笔,安裝MySQL會覆蓋掉之前已存在的mariadb
檢查MySQL
shell> rpm -qa|grep?mysql
刪除MySQL
如果不存在(上面檢查結(jié)果返回空)則跳過步驟
shell> rpm -e?--nodeps xxx
1彪置、添加MySQL Yum Repository
從CentOS 7開始,MariaDB成為Yum源中默認(rèn)的數(shù)據(jù)庫安裝包蝇恶。也就是說在CentOS 7及以上的系統(tǒng)中使用yum安裝MySQL默認(rèn)安裝的會是MariaDB(MySQL的一個分支)拳魁。如果想安裝官方MySQL版本,需要使用MySQL提供的Yum源撮弧。
下載MySQL源
官網(wǎng)地址:https://dev.mysql.com/downloads/repo/yum/
查看系統(tǒng)版本:
shell> cat /etc/redhat-releaseCentOS Linuxrelease7.6.1810(Core)
選擇對應(yīng)的版本進(jìn)行下載潘懊,例如CentOS 7當(dāng)前在官網(wǎng)查看最新Yum源的下載地址為:
https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
shell> wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安裝MySQL源
shell> sudo rpm -Uvh?platform-and-version-specific-package-name.rpm
例如CentOS7當(dāng)前最新MySQL源安裝:
shell> sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
檢查是否安裝成功
執(zhí)行成功后會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo及?mysql-community-source.repo
并且通過yum repolist可以看到mysql相關(guān)資源
shell> yum repolist enabled | grep"mysql.*-community.*"!mysql-connectors-community/x86_64MySQL Connectors Community108!mysql-tools-community/x86_64MySQL Tools Community90!mysql80-community/x86_64MySQL8.0Community Server113
2、選擇MySQL版本
使用MySQL Yum Repository安裝MySQL贿衍,默認(rèn)會選擇當(dāng)前最新的穩(wěn)定版本授舟,例如通過上面的MySQL源進(jìn)行安裝的話,默安裝會選擇MySQL 8.0版本贸辈,如果就是想要安裝該版本释树,可以直接跳過此步驟,如果不是,比如我這里希望安裝MySQL5.7版本奢啥,就需要“切換一下版本”:
查看當(dāng)前MySQL Yum Repository中所有MySQL版本(每個版本在不同的子倉庫中)
shell> yum repolist?all?|?grep?mysql
切換版本
shell> sudo yum-config-manager --disable mysql80-communityshell> sudo yum-config-manager --enable mysql57-community
除了使用yum-config-manager之外署浩,還可以直接編輯/etc/yum.repos.d/mysql-community.repo文件
enabled=0禁用
[mysql80-community]name=MySQL8.0Community Serverbaseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
enabled=1啟用
# Enable to use MySQL 5.7[mysql57-community]name=MySQL5.7Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
檢查當(dāng)前啟用的MySQL倉庫
shell> yum repolist enabled |?grep?mysql
如果同時啟用了多個倉庫,安裝時會選擇最新版本
3扫尺、安裝MySQL
shell>?sudo yum?install?mysql-community-server
該命令會安裝MySQL服務(wù)器 (mysql-community-server) 及其所需的依賴筋栋、相關(guān)組件,包括mysql-community-client正驻、mysql-community-common弊攘、mysql-community-libs等
如果帶寬不夠,這個步驟時間會比較長姑曙,請耐心等待~
4襟交、啟動MySQL
啟動
shell> sudo systemctl?start?mysqld.service
CentOS 6:
shell> sudo service mysqld?start
查看狀態(tài)
shell>?sudo?systemctl?status?mysqld.service
CentOS 6:
shell> sudo service mysqld?status
停止
shell> sudo systemctl?stop?mysqld.service
CentOS 6:
shell> sudo service mysqld?stop
重啟
shell>?sudo?systemctl?restart?mysqld.service
CentOS 6:
shell> sudo service mysqld restart
5、修改密碼
初始密碼
MySQL第一次啟動后會創(chuàng)建超級管理員賬號root@localhost伤靠,初始密碼存儲在日志文件中:
shell> sudo?grep?'temporary password'?/var/log/mysqld.log
修改默認(rèn)密碼
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
出現(xiàn)上面的提示是因為密碼太簡單了捣域,解決方法如下:
使用復(fù)雜密碼,MySQL默認(rèn)的密碼策略是要包含數(shù)字宴合、字母及特殊字符焕梅;
如果只是測試用,不想用那么復(fù)雜的密碼卦洽,可以修改默認(rèn)策略贞言,即validate_password_policy(以及validate_password_length等相關(guān)參數(shù)),使其支持簡單密碼的設(shè)定阀蒂,具體方法可以自行百度该窗;
修改配置文件/etc/my.cnf,添加validate_password=OFF蚤霞,保存并重啟MySQL
mysql> ALTER USER'root'@'localhost'IDENTIFIEDBY'123456';Query OK,0rowsaffected (0.00sec)
6酗失、允許root遠(yuǎn)程訪問
mysql> GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'123456'WITHGRANT OPTION;mysql> FLUSH PRIVILEGES;
7、設(shè)置編碼為utf8
查看編碼
mysql>?SHOW?VARIABLES LIKE?'character%';
設(shè)置編碼
編輯/etc/my.cnf昧绣,[mysqld]節(jié)點增加以下代碼:
[mysqld]character_set_server=utf8init-connect='SET NAMES utf8'
8规肴、設(shè)置開機(jī)啟動
shell> systemctlenablemysqldshell> systemctl daemon-reload
援引:https://segmentfault.com/a/1190000019507071