CentOS7入门_安装并配置mysql5.7.18
2019獨角獸企業重金招聘Python工程師標準>>>
1.下載mysql5.7
mysql的官方下載地址
打開之后我們選擇對應的系統版本進行下載,之后選擇nothanks,不登陸直接下載(如果只是搭建最基本的的mysql的server只需要下載上圖4個基本rpm文件即可):
如果你的linux系統可以直接上網,那么可以直接復制下面的命令執行,即可在當前目錄下載mysql。
服務器端下載:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.18-1.el7.x86_64.rpm客戶端下載:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-client-5.7.18-1.el7.x86_64.rpmlib下載:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-libs-5.7.18-1.el7.x86_64.rpmcommon下載:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-common-5.7.18-1.el7.x86_64.rpm嫌麻煩的童鞋可以直接下載第一個rpm-bundle(集合版)可以一勞永逸,這里我也給出下載地址:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 1. 安裝mysql 下載完成后,首先需要我們看一下4個包的依賴關系。 mysql-community-common-5.7.18-1.el7.x86_64.rpm mysql-community-libs-5.7.18-1.el7.x86_64.rpm --(依賴于common) mysql-community-client-5.7.18-1.el7.x86_64.rpm --(依賴于libs) mysql-community-server-5.7.18-1.el7.x86_64.rpm --(依賴于client、common) 我們依次執行安裝命令: rpm -ivh mysql-*.rpm 出現了如下錯誤: 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通過讀錯誤信息我們可以看出是缺少了依賴,經過我的研究發現是缺少了numactl.rpm,我在centos7安裝鏡像的package目錄中提取三個numactl.rpm文件
把三個文件復制至同一文件夾下,使用通配符安裝目錄下所有rpm文件:
rpm -ivh numactl-*.rpm
如果找不到numactl.rpm文件,但是你的linux可以聯網的話也已使用包管理器yum安裝:
yum install numactlyum install libaio yum install perl-Time-HiRes per-develnumactl.rpm安裝完成之后我們又看到如下錯誤:
error: Failed dependencies:mariadb-libs is obsoleted by mysql-community-libs-5.7.18-1.el7.x86_64這是因為centos7 已經不支持mysql,所以內部集成了mariadb,而安裝mysql的話會和mariadb的文件沖突,所以需要先卸載掉mariadb。
列出所有被安裝的rpm package
rpm -qa | grep mariadb卸載?mariadb
rpm -e mariadb-libs-5.5.35-1.el7_0.x86_64
錯誤:依賴檢測失敗:
libmysqlclient.so.18()(64bit) postfix-2:2.10.1-6.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) postfix-2:2.10.1-6.el7.x86_64
這時我們忽略依賴,強制卸載,加上 --nodeps
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
卸載完畢后重新安裝mysql
rpm -ivh mysql-*.rpm
最后檢查(注意大小寫)
rpm -qa | grep mysql
有如下提示說明安裝成功
1.??? 配置mysql
?安裝完畢之后我們就可以嘗試登錄mysql數據庫了,但是當我運行mysql的時候又發生了意外
經過我的初步判斷應該是mysql的服務沒有啟動,我們查詢一下mysql的狀態
service mysqld status? --注意此處是 mysqld
果然不出我所料,下面我們啟動mysql的服務
service mysqld start
我們發現mysql的服務已經處于runing狀態。此時我們再次登錄mysql,正常情況下此時應該已經登錄成功了,但是博主的mysql卻并不能免密登錄,可能是mysql的版本問題。
?經過查找資料得知,我們需要首先需要初始化mysql的密碼,有兩種方法。我們先停止mysql:
service mysqld stop
mysql_install_db --datadir=/var/lib/mysql?? //必須指定datadir,執行后會生成~/.mysql_secret密碼文件?
mysqld --initialize???????????????????????? //新版的推薦此方法,執行后會在/var/log/mysqld.log生成隨機密碼?
我使用第一種方法,執行成功后在~/目錄即root目錄下并沒有生成?.mysql_secret密碼文件。(此處可能是因為我已經啟動過一次服務的原因,后面也會提到)。
我遂放棄這一種方法,因為下面的方法也正好是新版推薦的。(如果需要深入了解此命令請查看官方文檔)
但是當我執行第二種方法時,卻產生如下錯誤。
2017-05-11T01:41:54.675302Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2017-05-11T01:41:54.675339Z 0 [ERROR] Aborting
意思就是說我的/var/lib/mysql目錄下有文件,我猜這兩個命令都不成功的原因是因為我運行過一次mysql, 于是我清空/var/lib/mysql目錄,在/var/lib/mysql下執行 rm -rf * 再次執行 mysqld --initialize 果然成功,執行以下命令查看日志。 cat /var/log/mysqld.log 上面的我們都不看,直接看最下面有一個臨時密碼。 此時我們再次啟動mysql service mysqld start 啟動mysql后,我們使用臨時密碼登錄. mysql -uroot -p 登陸成功后是不能進行任何操作的,否則會報 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.此時我們必須先修改mysql的密碼:
SET PASSWORD = PASSWORD('new password');
然后退出quit或者exit,并用新密碼重新登錄。
如果登錄成功,我們的mysql就安裝好啦。
恭喜你,讓我們開啟愉快的mysql之旅吧!
?
?
默認情況下,mysql只允許locathost本地登陸,用mysql workbentch 是無法遠程登陸的。
root@localhost,代表root只允許本地用戶登陸,
所以必須允許root 從任何ip地址登陸。
mysql> grant all privileges on *.* to 'root'@'%' identified by 'Yes@126.com';grant all privileges on *.* to 'root'@'%' identified by 'Huawei12#$';
轉載于:https://my.oschina.net/LiuLangEr/blog/988714
總結
以上是生活随笔為你收集整理的CentOS7入门_安装并配置mysql5.7.18的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php脚本超时 结束执行代码
- 下一篇: jQuery常用的全局方法源码