centos7下安裝mysql全過程
今天作者隨機嘗試了一下centos7安裝mysql。T_T,心路歷程。。。。
這么重要的東西,不能動不動就是臥槽...之類來結(jié)尾,應(yīng)該是:請看下面分享。
mysql安裝
mysql安裝方式很多,原本吧,想要自己下載安裝包,通過ftp方式拷貝到虛擬機,但是呢,最近用yum用的很有心得,覺得簡單,方便,雖說安裝過程的軟件目錄亂七八糟,我們都不知道啥是啥,但是通過find命令還是能夠統(tǒng)統(tǒng)找出來。
yum方式安裝
安裝mysql客戶端
yum install mysql
安裝mysql服務(wù)器端
yum install mysql-server
報錯:
沒有可用軟件包 mysql-server

這個是因為本地沒有相應(yīng)的mysql yum倉庫。需要添加。
下載MySQL Yum倉庫的RPM安裝包
添加rmp安裝包
linux下的rpm文件是什么東西? rpm文件是linux中一種常見的軟件安裝包的格式。 rpm命令是RedHat Package Manager(RedHat軟件包管理工具)類似Windows里面的“添加/刪除程序” 用來安裝rpm文件 二進制包(Binary)以及源代碼包(Source)兩種。二進制包可以直接安裝在計算機中,而源代碼包將會由RPM自動編譯、安裝。源代碼包經(jīng)常以src.rpm作為后綴名。 常用命令組合: -ivh:安裝顯示安裝進度--install--verbose--hash -Uvh:升級軟件包--Update; -qpl:列出RPM軟件包內(nèi)的文件信息[Query Package list]; -qpi:列出RPM軟件包的描述信息[Query Package install package(s)]; -qf:查找指定文件屬于哪個RPM軟件包[Query File]; -Va:校驗所有的RPM軟件包,查找丟失的文件[View Lost]; -e:刪除包
訪問:
http://dev.mysql.com/downloads/repo/yum/
找到:

選擇對應(yīng)的rpm(centos7就是linux7):
mysql57-community-release-el7-11.noarch.rpm
下載:可以直接下載上傳,也可以通過wget方式下載下來:
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

下載好之后,查看下當前目錄是否有這個rpm安裝包:

補充:
ls -ltr: 對輸出文件進行各種排序; 按照字符序(default): #ls -l 按照修改時間排序: #ls -t //最近修改在最上面 逆排序 : #ls -r
安裝rpm安裝包
yum localinstall mysql57-community-release-el7-11.noarch.rpm


安裝完成后會將MySQL的Yum倉庫添加到系統(tǒng)的倉庫list中,可以/etc/yum.repos.d目錄下看到新增的兩個文件(mysql-community.repo和mysql-community-source.repo)。
檢查MySQL Yum倉庫是否被添加成功。

準備工作over。下面可以正式開始安裝mysql了。
安裝mysql
有了mysql的yum倉庫之后,只要運行:
yum install mysql-community-server



安裝完畢,就可以直接啟動mysql并且查看mysql的狀態(tài):
之前安裝ngxin的時候就說過了,通過yum安裝的軟件,都會自動幫我們把軟件的啟停添加到服務(wù)里頭,服務(wù)的文件地址在:/usr/lib/systemd/system/mysqld.service。
mysql也例外:
- 啟動:service mysqld start
- 停止:service mysqld stop
- 查看狀態(tài):service mysqld status
- 重啟:service mysqld restart

提示:很多地方都說安裝完成之后會有一個root用戶的隨機密碼(路徑:/var/log/mysqld.log),網(wǎng)友提供的截圖:

但是,很不幸,我沒有找到。
于是直接就是修改密碼。
忘記密碼修改密碼(實質(zhì)添加臨時密碼)
屏蔽安全驗證
1、vi /etc/my.cnf
2、找到:
datadir=/var/lib/mysql? ? socket=/var/lib/mysql/mysql.sock
在下面添加:
skip-grant-tables
3、保存退出
linux mysql登入:
mysql -u root

修改密碼
update user set authentication_string = password('root') where user = 'root';補充:新版的mysql(5.7之后)的user表是沒有password字段的,取而代之的是authentication_string.
修改密碼之后,刷新權(quán)限
flush privileges

取消屏蔽安全校驗
把之前的屏蔽安全驗證的內(nèi)容刪除
vi /etc/my.cnf
mysql登入
重啟mysql服務(wù):
service mysqld restart
帶密碼登入mysql:
mysql -u root -p
輸入密碼:root
登入成功。
mysql使用
mysql>show databases;
發(fā)現(xiàn)報錯了:
You must reset your password using ALTER USER statement before executing this statement

==20180322補充:通過上述方式修改密碼,就跟我們安裝mysql的時候它提供給我們的臨時密碼一樣,登入之后就必須馬上修改,不然就會報錯--官方解釋
真是奔潰啊,fuck。
修改臨時密碼
查詢眾多地方找到了解決方案:
alter user 'root'@'localhost' identified by '123456789';
執(zhí)行報錯:
Your password does not satisfy the current policy requirements

fuck again。
修改密碼策略
查詢眾多地方找到解決方案:
修改密碼安全策略:validate_password_policy
set global validate_password_policy=0;
上述是比較暴力的,直接將策略調(diào)整為只校驗密碼長度。詳細可以查看: 密碼策略
重新設(shè)置后就可以了如下:

遠程連接mysql
通過navicat連接報錯:
host 172.18.160 is not allowed to connect to this mysql server

沒脾氣了,半天過去了。
查詢很多地方之后發(fā)現(xiàn)是mysql的連接策略導(dǎo)致的:
最暴力的方式,直接設(shè)置root用戶所有ip都能訪問:
update user set host='%' where user ='root'
記住:設(shè)置之后必須重啟mysql服務(wù),設(shè)置才能生效。
恭喜你,至此,mysql你可以直接用了。
補充:
問題:
Your password has expired. To log in you must change it using a client that supports expired passwords
解決:重新設(shè)置密碼
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mysql排序和分頁(order by&limit)及存在的坑
這篇文章主要介紹了Mysql排序和分頁(order by&limit)及存在的坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
MySQL中MAX()和MIN()函數(shù)的高效使用及技巧
在SQL數(shù)據(jù)庫中,最大/最小值函數(shù)—MAX()/MIN()是經(jīng)常要用到的,下面這篇文章主要給大家介紹了關(guān)于MySQL中MAX()和MIN()函數(shù)的高效使用及技巧的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06
mysql 數(shù)據(jù)類型轉(zhuǎn)換的實現(xiàn)
這篇文章主要介紹了mysql 數(shù)據(jù)類型轉(zhuǎn)換的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02

