mysql8.0的RPM方式安裝


1. 下載

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

使用wget下載yum的源信息:

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

或者直接下載rpm安裝包

鏈接地址:
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.26-1.el7.x86_64.rpm

注意都是rpm結尾,但是文件大小相差比較大,yum源的rpm安裝包只有幾十K,真正的RPM安裝包是幾百兆。

2. 安裝

2.1卸載歷史版本mysql以及mariadb

# 查詢
rpm -qa|grep mysql
rpm -qa|grep mariadb
# 移除
rpm -ev [需要移除組件的名稱]
rpm -e --nodeps [需要移除組件的名稱]  //此命令為強制卸載
# 或者用yum移除
yum remove 

2.2 使用yum源信息安裝

# repo的安裝,執行完成后會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
cd /etc/yum.repos.d/
# 注意:必須進入到/etc/yum.repos.d/目錄后再使用yum命令進行安裝
yum -y install mysql-server


# 如果報錯誤Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY,加上force和nodeps參數即可
# 例如:
rpm -ivh mysql-community-server-8.0.25-1.el8.x86_64.rpm --force --nodeps

2.3 使用rpm直接安裝

如果報錯誤Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY,加上force和nodeps參數

安裝服務端:

rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm --force --nodeps

安裝客戶端:

rpm -ivh rpm包
* 安裝common包
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
* 安裝類庫
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm --force --nodeps
* 安裝客戶端(前兩個是其依賴)
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

2.4 查看安裝后的信息

# 查看服務狀態,可能沒啟動
systemctl status mysqld

# 啟動服務
systemctl start mysqld

cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
mysqladmin --version

2.5 初始化mysql

# 創建數據文件目錄和mysql系統數據庫 產生隨機root密碼
mysqld --initialize

查看初始密碼:

cat /var/log/mysqld.log | grep password
或
grep 'temporary password' /var/log/mysqld.log

修改密碼:沒有經過測試。

復制 root@localhost: 后面的密碼。登錄mysql,並粘貼默認密碼
因為MySQL8.0的更改,導致必須要重置密碼
alter user 'root'@'localhost' identified by '12345678';
如果設置密碼時候出現提示

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

代表需要降低policy的等級后在執行

set global validate_password.policy=0;
開啟MySQL遠程連接


use mysql;
#修改root賬戶權限
update user set host = '%' where user = 'root';
#刷新權限
flush privileges;

2.6 安全設置

mysql_secure_installation

# 提示如下步驟:
1. 輸入初始密碼;
2. 提示root密碼過期,需要修改密碼,這是mysql8的提示,輸入兩次密碼確認;
3. 提示是否更改root密碼,這步其實重復了;
4. 是否刪除匿名用戶,建議刪除;
5. 是否禁用root賬戶的遠程登錄,建議禁用,即mysql的root只可以本機登錄;
6. 是否刪除test數據庫,建議刪除;
7. 是否重新加載權限表,選y。

2.7 mysql登錄

# 輸入剛才修改后的密碼
mysql -uroot -p 

2.8 重置密碼(Mysql8.0+有變化)

先把root的舊密碼置空(這個步驟可以不做)

use mysql;
update user set authentication_string='' where user='root';
# 備注:Mysql5.7+ password字段 已改成 authentication_string字段

重置成新密碼:

alter user 'root'@'localhost' identified by 'newpassword';
# 備注:Mysql8.0修改密碼方式已有變化(此處是個坑,需要注意)
# Mysql8.0之前:
update user set password=password('root') where user='root';

重新登錄:

mysql -uroot -pnewpassword

2.9 如何停止、重啟和查看mysql服務

systemctl stop mysqld //停止服務
systemctl restart mysqld //重啟服務
systemctl status mysqld //查看服務

2.10 mysql相關目錄

# 相關命令
/usr/bin 

# 配置文件目錄
/usr/share/mysql

# 數據庫文件存放目錄
/var/lib/mysql

# mysql的啟動配置文件
/etc/my.cnf 

其他:

my.ini # windows操作系統下的配置文件
my.cnf # linux操作系統下的配置文件
mysqld # 是后台守護進程,即mysql daemon
mysql # 是客戶端命令行

3. 創建用戶和數據庫

3.1 創建用戶

用戶名:wood,密碼:PWDwooddb_2021,可以從任何地址登入。

create user 'wood'@'%' identified by 'PWDwooddb_2021'

3.2 創建數據庫wood_db;

create database wood_db;

3.3 授權

常用授權語句

GRANT 權限 ON 數據庫.表單名稱 TO 用戶名@主機名    對某個特定數據庫中的特定表單給予授權。
GRANT 權限 ON 數據庫.* TO 用戶名@主機名    對某個特定數據庫中的所有表單給予授權。
GRANT 權限 ON *.* TO 用戶名@主機名    對所有數據庫及所有表單給予授權。
GRANT 權限1,權限2 ON 數據庫.* TO 用戶名@主機名    對某個數據庫中的所有表單給予多個授權。
GRANT ALL PRIVILEGES ON *.* TO 用戶名@主機名    對所有數據庫及所有表單給予全部授權。

授權wood用戶所有wood_db的權限

 grant all on wood_db.* to 'wood'@'%';

查看用戶授權

show grants for wood@'%';
+---------------------------------------------------+
| Grants for wood@%                                 |
+---------------------------------------------------+
| GRANT USAGE ON *.* TO `wood`@`%`                  |
| GRANT ALL PRIVILEGES ON `wood_db`.* TO `wood`@`%` |
+---------------------------------------------------+
2 rows in set (0.00 sec)

如果修改沒有生效,考慮使用flush privileges命令刷新權限信息。


免責聲明!

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



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