天天看點

使用MySQL的yum源安裝MySQL5.7

 一、安裝配置MySQL的yum源

# 安裝MySQL的yum源,下面是RHEL6系列mysql5.6的下載下傳位址:

下面是RHEL6系列mysql5.7的下載下傳位址:

<a href="http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm" target="_blank"></a>

安裝yum源。 

rpm -ivh mysql57-community-release-el6-8.noarch.rpm

清除緩存

yum clean all

下面幾個指令可以順便學習一下

# 安裝yum-config-manager 

yum install yum-utils -y 

# 禁用MySQL5.6的源 

yum-config-manager --disable mysql56-community 

# 啟用MySQL5.7的源 

yum-config-manager --enable mysql57-community-dmr 

# 用下面的指令檢視是否配置正确

yum repolist enabled | grep mysql

 二、yum安裝MySQL5.7

本次安裝的版本是5.7.14,測試環境上原來有5.1.73版本,是更新安裝.

yum install mysql

<a href="http://s1.51cto.com/wyfs02/M00/85/47/wKiom1efBNuzwwpzAACgaANvhHI537.png-wh_500x0-wm_3-wmp_4-s_2333914363.png" target="_blank"></a>

 三、初始化并啟動MySQL

service mysqld start

直接啟動服務會報錯,如下:

[root@localhost lib]# service mysqld start

MySQL Daemon failed to start.

正在啟動 mysqld: [失敗]

解決方法:新版本要求先初始化mysql。

初始化mysql

# mysqld --initialize --user=mysql --datadir=/var/lib/mysql

或者

# mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql

另外,當你是以mysql的賬戶登入并執行程式的情況下,你可以将--user選項從指令中去掉。

通過官方文檔我們可以知道,如果我是root身份登入Linux系 統,可以執行:mysqld --initialize --user=mysql或者mysqld --initialize-insecure --user=mysql。如果我是以mysql使用者登入Linux系統,可以執行:mysqld --initialize或者mysqld --initialize-insecure。

不管在哪個平台上,使用--initialize選項就是以“預設安全模式”來進行安裝的(即包含一個随機的root初始密碼的生成)。在這種情況下,密 碼是被标志為過期的,你需要選擇一個新的密碼。使用--initialize-insecure選項,沒有root密碼生成;如果是這樣的話,在伺服器投 入生産使用之前,你需要及時地為賬戶指定密碼。

使用--initialize會為root賬戶生成一個随機的初始密碼,我們可以使用指令:mysql -u root -p,然後輸入密碼來登入MySQL。使用--initialize-insecure不會為root賬戶生成一個随機的初始密碼,我們可以使用命 令:mysql -u root --skip-password直接登入MySQL。

我初始化過程中遇到報錯如下:

[ERROR] --initialize specified but the data directory has files in it. Aborting.

[ERROR] Aborting

解決方法:

rm  -rf  /var/lib/mysql/* 

原因分析:

mysqld服務會檢查資料目錄是否存在,如下:

如果資料目錄不存在,mysqld則會建立它。

如果資料目錄存在,且不是空目錄(即包含有檔案或子目錄),mysqld會顯示一條錯誤資訊并中止:

[ERROR] --initialize specified but the data directory exists. Aborting.

遇到這種情況,就将資料目錄删除或重命名後,重新再試一次。

總之: 初始化之前,先檢查一下資料目錄是否存在,執行指令:ls  -l  /var/lib|grep mysql。若有,則執行指令:

rm  -rf  /var/lib/mysql,将其删除;

或者執行指令:mv  /var/lib/mysql   /var/lib/newname,将其重命名為newname,就可以了。

再次執行初始化指令,成功執行.

[Note] A temporary password is generated for root@localhost: ihey0gFhTT;f

記住初始化生成的臨時的root密碼,登入時會用到

初始化完成之後,直接啟動service mysqld start

四、連接配接MySQL并修改密碼

初始化時會生成一個臨時的root密碼,且登入之後必須先改密碼,然後才能執行指令.

mysql -uroot -p  臨時密碼

登入之後,如果不立即改密碼,執行指令時報如下錯誤:

mysql&gt; show databases ;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

修改密碼:  set password=password('123@Zxc');

或者:alter user 'root'@'localhost'  identified  by  '123@Zxc';

再次執行成功.

從官方文檔中我們了解到要用ALTER USER語句可以修改密碼。登入MySQL後,執行語句:

alter user 'root'@'localhost'  identified  by  '123@Zxc';

就将root賬戶的密碼修改為123@Zxc了。

MySQL對使用者密碼安全性有所加強,是以設定的密碼必須包含有數字,大寫字母,小寫字母,特殊符号,如果你設定的密碼過于簡單,會提示:

ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

本文轉自pizibaidu 51CTO部落格,原文連結:http://blog.51cto.com/pizibaidu/1833587,如需轉載請自行聯系原作者

繼續閱讀