一、安裝配置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> 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,如需轉載請自行聯系原作者