本次將在Linux下經過yum安裝MySQL,安裝的版本爲MySQL 5.7,官網中是最新版本8.0,在網上查了下,發現最新版本的yum源也包含了舊版本,而咱們,只須要在安裝時啓用 5.7 的安裝便可。mysql
本人環境:CentOS 7.3 64位sql
yum list installed |grep mysqlvim
若是存在系統自帶的mysql及依賴,則經過 yum remove 將其卸載oracle
這裏獲取到的是最新版本的下載地址:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmapp
下載rpm包:wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm --no-check-certificate
安裝mysql源:yum localinstall mysql80-community-release-el7-3.noarch.rpmide
經過 yum localinstall 安裝mysql源,能夠幫助咱們解決本地rpm包的依賴問題。post
最後,驗證是否安裝成功:yum repolist all | grep mysqlui
從上面的圖片,咱們能夠看到,默認是MySQL 8.0可用,咱們若想安裝MySQL 5.7,則需啓用5.7。接下來經過直接修改配置文件來設置啓用。this
vim /etc/yum.repos.d/mysql-community.repo3d
輸入上面的命令,在編輯界面,先輸入 i 進入編輯模式,將8.0的 enabled 設置爲0,將5.7的 enabled 設置爲1,以下:
接着按 Esc 退出編輯模式,最後輸入 :wq 保存並退出。
再次輸入命令:yum repolist all | grep mysql ,能夠看到8.0已被禁用,而5.7是啓用的。
yum install mysql-community-server
輸入上面命令,進行安裝便可。
[root@wintest mysql]# yum install mysql-community-server Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package mysql-community-server.x86_64 0:5.7.27-1.el7 will be installed --> Processing Dependency: mysql-community-common(x86-64) = 5.7.27-1.el7 for package: mysql-community-server-5.7.27-1.el7.x86_64 --> Processing Dependency: mysql-community-client(x86-64) >= 5.7.9 for package: mysql-community-server-5.7.27-1.el7.x86_64 --> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: mysql-community-server-5.7.27-1.el7.x86_64 --> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: mysql-community-server-5.7.27-1.el7.x86_64 --> Processing Dependency: libaio.so.1()(64bit) for package: mysql-community-server-5.7.27-1.el7.x86_64 --> Running transaction check ---> Package libaio.x86_64 0:0.3.109-13.el7 will be installed ---> Package mysql-community-client.x86_64 0:5.7.27-1.el7 will be installed --> Processing Dependency: mysql-community-libs(x86-64) >= 5.7.9 for package: mysql-community-client-5.7.27-1.el7.x86_64 ---> Package mysql-community-common.x86_64 0:5.7.27-1.el7 will be installed --> Running transaction check ---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be obsoleted --> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64 --> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64 ---> Package mysql-community-libs.x86_64 0:5.7.27-1.el7 will be obsoleting --> Running transaction check ---> Package mysql-community-libs-compat.x86_64 0:5.7.27-1.el7 will be obsoleting ---> Package postfix.x86_64 2:2.10.1-6.el7 will be updated ---> Package postfix.x86_64 2:2.10.1-7.el7 will be an update --> Finished Dependency Resolution Dependencies Resolved ==================================================================================== Package Arch Version Repository Size ==================================================================================== Installing: mysql-community-libs x86_64 5.7.27-1.el7 mysql57-community 2.2 M replacing mariadb-libs.x86_64 1:5.5.52-1.el7 mysql-community-libs-compat x86_64 5.7.27-1.el7 mysql57-community 2.0 M replacing mariadb-libs.x86_64 1:5.5.52-1.el7 mysql-community-server x86_64 5.7.27-1.el7 mysql57-community 165 M Installing for dependencies: libaio x86_64 0.3.109-13.el7 base 24 k mysql-community-client x86_64 5.7.27-1.el7 mysql57-community 24 M mysql-community-common x86_64 5.7.27-1.el7 mysql57-community 275 k Updating for dependencies: postfix x86_64 2:2.10.1-7.el7 base 2.4 M Transaction Summary ==================================================================================== Install 3 Packages (+3 Dependent packages) Upgrade ( 1 Dependent package) Total download size: 197 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. (1/7): libaio-0.3.109-13.el7.x86_64.rpm | 24 kB 00:00:00 warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.27-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Public key for mysql-community-common-5.7.27-1.el7.x86_64.rpm is not installed (2/7): mysql-community-common-5.7.27-1.el7.x86_64.rpm | 275 kB 00:00:01 (3/7): mysql-community-libs-5.7.27-1.el7.x86_64.rpm | 2.2 MB 00:00:01 (4/7): mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm | 2.0 MB 00:00:01 (5/7): postfix-2.10.1-7.el7.x86_64.rpm | 2.4 MB 00:00:00 (6/7): mysql-community-client-5.7.27-1.el7.x86_64.rpm | 24 MB 00:00:34 (7/7): mysql-community-server-5.7.27-1.el7.x86_64.rpm | 165 MB 00:00:52 ------------------------------------------------------------------------------------ Total 3.5 MB/s | 197 MB 00:56 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql Importing GPG key 0x5072E1F5: Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>" Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5 Package : mysql80-community-release-el7-3.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql Is this ok [y/N]: y Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mysql-community-common-5.7.27-1.el7.x86_64 1/9 Installing : mysql-community-libs-5.7.27-1.el7.x86_64 2/9 Installing : mysql-community-libs-compat-5.7.27-1.el7.x86_64 3/9 Installing : mysql-community-client-5.7.27-1.el7.x86_64 4/9 Installing : libaio-0.3.109-13.el7.x86_64 5/9 Installing : mysql-community-server-5.7.27-1.el7.x86_64 6/9 Updating : 2:postfix-2.10.1-7.el7.x86_64 7/9 Cleanup : 2:postfix-2.10.1-6.el7.x86_64 8/9 Erasing : 1:mariadb-libs-5.5.52-1.el7.x86_64 9/9 Verifying : mysql-community-libs-compat-5.7.27-1.el7.x86_64 1/9 Verifying : mysql-community-common-5.7.27-1.el7.x86_64 2/9 Verifying : mysql-community-libs-5.7.27-1.el7.x86_64 3/9 Verifying : 2:postfix-2.10.1-7.el7.x86_64 4/9 Verifying : mysql-community-server-5.7.27-1.el7.x86_64 5/9 Verifying : mysql-community-client-5.7.27-1.el7.x86_64 6/9 Verifying : libaio-0.3.109-13.el7.x86_64 7/9 Verifying : 1:mariadb-libs-5.5.52-1.el7.x86_64 8/9 Verifying : 2:postfix-2.10.1-6.el7.x86_64 9/9 Installed: mysql-community-libs.x86_64 0:5.7.27-1.el7 mysql-community-libs-compat.x86_64 0:5.7.27-1.el7 mysql-community-server.x86_64 0:5.7.27-1.el7 Dependency Installed: libaio.x86_64 0:0.3.109-13.el7 mysql-community-client.x86_64 0:5.7.27-1.el7 mysql-community-common.x86_64 0:5.7.27-1.el7 Dependency Updated: postfix.x86_64 2:2.10.1-7.el7 Replaced: mariadb-libs.x86_64 1:5.5.52-1.el7 Complete!
在CentOS 6中,咱們通常經過 service mysqld start 來啓動mysql,在CentOS 7中,若是直接輸入 service mysqld start ,則會出現如下信息:
這是由於 CentOS 7 下重啓服務再也不經過 service 操做,而是經過 systemctl 操做,所以咱們能夠輸入命令:
啓動mysql:systemctl start mysqld.service
查看mysql狀態:systemctl status mysqld.service
mysql -u root -p
在要求輸入密碼時,由於mysql 5.7的初始密碼不是空,直接按回車鍵不能成功登陸,所以需先找到初始密碼,才能登陸。
grep 'temporary password' /var/log/mysqld.log
如上,最後的內容就是初始密碼。
再次登陸,輸入初始密碼,便可成功登陸。
第一次登陸成功後,發現不能執行操做,同時提示讓修改密碼。
alter user root@localhost identified by '新密碼'
這裏,我想設置新密碼爲 123456,但出現了報錯,這裏的報錯是mysql的密碼策略問題,輸入命令:show variables like 'validate_password%',查看 mysql 初始的密碼策略,發現密碼的最小長度爲8,密碼的驗證強度等級爲MEDIUM,能夠修改一下密碼策略:
設置密碼的驗證強度等級:set global validate_password_policy=LOW
設置密碼的最小長度:set global validate_password_length=6
好了,這時咱們再次執行修改密碼的sql,便不會報錯了。
最後經過 flush privileges 刷新權限,使當前操做當即生效,就大功告成了。
注意:最後這裏,也能夠不修改密碼策略,只要本身設置的密碼知足MySQL的原密碼策略便可。