linux下yum安裝指定的mysql版本


 

因為直接使用yum安裝的mysql會是默認版本5.1的版本  但是有的同學不滿足又想要其他版本的怎么辦呢?

曾時候我來提供一種方案(僅供參考):

我們可以使用rpm包來進行指定mysql版本的安裝,

1、首先我們要選擇你的要安裝的msyql版本,然后去官網找到版本對應的路徑

https://dev.mysql.com/downloads/mysql/ 

選擇你要下載的版本:

 

 

 

因為我用的是centos版本所以我就用 RED Hat 紅帽的包

 

2、選擇你要下載的版本點擊download

 

 3、然后記住這個鏈接地址

 

 

 你再去你的linux上進行路徑的拼接即可

 

wget https://dev.mysql.com/get/+要下載的版本rpm路徑

如:
wget https://dev.mysql.com/get/mysql-community-embedded-compat-5.7.24-1.el7.x86_64.rpm   # 這就是要下載上面的 5.7.24mysql版本的rpm包

 

 

最重要的一點先看看你的機器中有沒有其他的多余的包

yum list installed | grep mysql

這里寫圖片描述

 

如果有一點要刪除不然會報錯

刪除已安裝mysql

輸入命令:yum -y remove mysql+版本包

切記上面出現兩個  兩個都要刪除

這里寫圖片描述

這里寫圖片描述

 

 

 

這個時候你一定要確保之前的沒有其他的多余的包

下面我來下載5.7.24演示:

wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

 

安裝用來配置mysql的yum源的rpm包

rpm -Uvh mysql57-community-release-el6-9.noarch.rpm

 

yum localinstall -y mysql57-community-release-el6-9.noarch.rpm   

安裝成功后在/etc/yum.repos.d/下會多出幾個mysql的yum源的配置,如下:

 

2.安裝mysql

yum install mysql-community-server

 

3.開啟mysql服務

service mysqld start

 

 mysql安裝成功后創建的超級用戶'root'@'localhost'的密碼會被存儲在/var/log/mysqld.log,可以使用如下命令查看密碼

grep 'temporary password' /var/log/mysqld.log

 

然后最初的時候我們要拿着這個密碼去登陸的  它不要默認安裝的不需要密碼 也是需要密碼的

使用mysql生成的'root'@'localhost'用戶和密碼登錄數據庫,並修改 其密碼,具體命令

shell> mysql -uroot -p 

 

 

登陸進去之后修改密碼 以防止忘記以前的

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'LaowangNi123!';   # 初始設置的必須滿足有大小寫特殊符號8位,不滿足會報錯 下面再強制修改

 

4.開啟遠程連接

設置iptables開放3306端口

vi /etc/sysconfig/iptables

 

如果此時使用telnet遠程登錄mysql服務會出錯:

 

 

解決此問題的方法為:

將localhost改成%

進入mysql的BIN目錄

 代碼如下  

mysql -u root -p

mysql>use mysql;

mysql>update user set host =’%'where user =’root’;

mysql>flush privileges;

 

 

 

具體分析

1、在本機登入mysql后,更改“mysql”數據庫里的“user”表里的“host”項,從”localhost”改為'%'。(必須要切換到mysql庫內)

 代碼如下  
mysql>
mysql>use mysql;
mysql>select 'host' from user where user='root';     

 

  #查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)

 

然后執行:

mysql>   update user set host = '%' where user ='root';

mysql>flush privileges;

 

 再進行查看:

 此時的顯示就是:

 

#修改host值(以通配符%的內容增加主機/IP地址,當然也可以直接增加某個特定IP地址,如果執行update語句時出現ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 錯誤,需要select host from user where user = 'root';
查看一下host是否已經有了%這個值,如果有了直接執行下面的flush privileges;即可)

 

 

下面是強制改密碼:

5.7之后的強制改密碼和之前的不同於了

update user set authentication_string=password("新密碼") where user='root';

5.7之前的修改密碼

方法二:
通過登錄mysql系統,

mysql -uroot -p
Enter password: 【輸入原來的密碼】
mysql>use mysql;
mysql> update user set password=password("新密碼") where user='root';
mysql> exit; 

 

所有的修改密碼都要在mysql庫中

 

忘記原來的myql的root的密碼;

方法三:

首先拿到操作系統的root權限,然后kill掉Mysql服務或者手動stop掉,這里我推薦使用手動stop;

#service mysql stop

 


然后執行

# mysqld_safe --skip-grant-tables &

 


1
&,表示在后台運行,不再后台運行的話,就再打開一個終端吧。
接着登陸MySQL修改密碼

# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("新密碼") WHERE user='root'; 
mysql> exit; 

 



注意:如果Mysql的版本是5.7及以上的話update語句如下:

mysql> update user set authentication_string=password("新密碼") where user='root';

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM