在centos7上安裝mysql5.7

boolwin發表於2024-10-18

1、此處是在MySQL官網獲取的rpm包(也可直接在linux中使用yum獲取這個rpm包到本地)

在MySQL官方網站的最底下找到這個
此處選擇的MySQL版本5.7.44,作業系統選Oracle Linux,OS版本選擇linux 7下載

將下載好的二進位制檔案包上傳到centos7中
在windows系統中上傳檔案到虛擬機器裡面,可使用Xftp工具上傳

mysql官方文件中有說明需要libaio庫(如果centos7裡面沒有libaio庫的話,使用下面命令安裝libaio庫,也可以使用此命令自檢有沒有這個庫)

yum install libaio

此處使用的centos系統,會預裝一個mariadb資料庫,這個資料庫會跟mysql有衝突,需解除安裝

# 使用以下兩個命令檢查是否已經存在這兩個資料庫,如果存在,則解除安裝
rpm -qa | grep mariadb
rpm -qa | grep mysql
# 解除安裝命令,如果出現依賴衝突,解除安裝不成功,則再後面追加 --nodeps 這個忽略依賴檢查,強制解除安裝
rpm -e [此處貼上上面檢視到的資料庫名,將出現的紅色部分全部複製貼上到此處] [--nodeps]

解壓mysql的rpm包並安裝mysql(此處的rpm包是放在opt/software目錄底下的,這個目錄是自建的)

tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C /opt/software/mysql5
#這裡為了方便把rpm包解壓到了mysql5這個自建的目錄底下了
解壓後的mysql包的各個部分

解壓完後,依次執行命令安裝mysql的rpm包

#加 --nodeps 是忽略出現的依賴問題,強制安裝
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm --nodeps
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm --nodeps
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm --nodeps
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm --nodeps
rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm --nodeps
————————————————

執行一下命令啟動mysql服務

對於 Red Hat Enterprise Linux、Oracle Linux、CentOS 和 Fedora 系統,使用以下命令啟動 MySQL

# 啟動mysql服務
service mysqld start
# 檢視啟動狀態
service mysqld status

對於 SLES 系統,命令相同,但服務名稱為 不同

# 啟動mysql服務
service mysql start
# 檢視啟動狀態
service mysql status
此圖片為啟動成功截圖(重點看綠色標識地方

自定義密碼

第一次啟動mysql服務,需要修改MySQL root使用者的登入密碼,此處為了方便將其密碼修改成123456

獲取root使用者的臨時登入密碼,進入MySQL客戶端,臨時密碼預設路徑是在mysql的錯誤日誌檔案中
# 使用此命令可直接檢視到臨時密碼
grep 'temporary password' /var/log/mysqld.log

冒號後面的就是臨時密碼,複製貼上,進入mysql客戶端需要這個臨時密碼,輸入密碼都是隱藏的,貼上好就直接進入,沒進入就多試幾次(如圖是進入後的介面)

因為mysql預設的密碼修改策略是要求密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字元,以及總密碼 長度至少為 8 個字元。為了設定一個簡單方便的登入密碼123456

# 修改密碼安全策略為低
set global validate_password_policy = low;
# 修改密碼長度為六位
set global validate_password_length = 6;
# 修改root使用者的密碼--- 修改密碼這個要注意需要重新登入

提示資訊是:Ignoring query to other database。根據錯誤可以,知道,是忽略了對其他表的查詢。

折騰了半天才發現原來是在連線mysql時沒有"-u"引數導致的。

重新使用命令:

mysql -uroot -P;

然後再修改密碼
alter user 'root'@'localhost' identified by '123456';

設定mysql的遠端連線

進入mysql的客戶端,檢視root使用者的訪問許可權

select user,host from mysql.user;

# 設定root的host為 %

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

# 設定好後重新整理許可權

flush privileges;

MYSQL常用命令

# 直接登陸mysql
mysql -u使用者名稱 -p密碼 資料庫名
# 例如:
mysql -uroot -p123456 mysql

# 先登陸後面再輸入密碼和選擇資料庫
mysql -u root -p
Enter password: “root使用者密碼”
mysql> use mysql # 選擇要操作的資料庫

# 切換資料庫
use 資料庫名;

# 檢視所有資料庫
show databases;

# 檢視登陸資料庫中所有的表
show tables;

# 檢視資料表結構
desc 表名;

# 檢視登陸使用者名稱
select user();

# 檢視登陸資料庫庫名
select database();

# 檢視版本
select version();

# 顯示當前時間
select now();

# 檢視所有使用者的 使用者名稱、可登陸主機、身份驗證外掛、密碼
select user,host,plugin,authentication_string from user;

# 檢視當前登入使用者許可權
show grants;

# 檢視任意使用者許可權(後面說許可權的具體含義)
show grants for root@localhost;

相關文章