前提
使用Centos7進行安裝教程
1、查看是否安裝過mysql
rpm -qa | grep mysql

如果你查看出來有東西,可以使用下面命令將其洗掉(xxx 為檔案全名)
rpm -e xxx
# 強力洗掉模式,如果使用上面命令洗掉時,提示有依賴的其它檔案,則用該命令可以對其進行強制洗掉
rpm -e --nodeps mysql
如果沒有直接進入第2步
2、下載官方Mysql安裝包:https://downloads.mysql.com/archives/community/
選擇對應的包,如下5.7:

已下載安裝包:mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
Mysql安裝與配置
1、上傳安裝包至服務器并進行解壓
# 創建安裝包上傳路徑
mkdir -p /usr/local/mysql
# 進入到該目錄下
cd /usr/local/mysql
#(解壓后可洗掉安裝包,節省空間)
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
# 重命名解壓后的mysql安裝目錄
mv mysql-5.7.35-linux-glibc2.12-x86_64 mysql-5.7.35
# 進入該目錄
cd mysql-5.7.35
2、創建用戶組和用戶
Root用戶是最高權限用戶,所以一般都是創建用戶和用戶組,防止最高權限用戶進行操作,
# 添加用戶組,命名為mysql
groupadd mysql
# 創建用戶mysql,并指定所屬群組為mysql
useradd -r -g mysql mysql
3、賦權,用用戶組和用戶具有操作權限
注意:.表示本級目錄,一定要保證當前所在檔案夾是/usr/local/mysql/mysql-5.7.35中
# 變更mysql用戶組有操作當前檔案夾權限
chgrp -R mysql .
# 變更mysql用戶具有操作本級目錄權限
chown -R mysql .
# 上面兩個命令也可換成一條命令
chown -R mysql:mysql ./
4、初始化
注意:保證當前所在檔案夾是在/usr/local/mysql/mysql-5.7.35中
# 判斷/etc/my.cnf是否存在,存在則洗掉
ls /etc/my.cnf
# 存在洗掉,不存在跳過此步驟
rm /etc/my.cnf
# 初始化資料庫
./scripts/mysql_install_db --user=mysql
5、修改組態檔
配置my.cnf和啟動檔案,根據需要進行修改,不需要特殊操作,可以直接復制
注意:保證當前所在檔案夾是在/usr/local/mysql/mysql-5.7.35中
# 復制my.cnf
cp support-files/my-default.cnf /etc/my.cnf
# 復制啟動檔案
cp support-files/mysql.server /etc/rc.d/init.d/mysql
啟動、重啟、關閉mysql服務
# start:啟動 restart:重啟 關閉:stop
service mysql start
Mysql必須在啟動狀態下,才可修改密碼(下一步操作)
6、操作Mysql資料庫
進入到mysql編輯模式mysql -u root -p
會提示要求輸入密碼,此時在mysql日志檔案中找到初始密碼,命令如下:
# 從當前資料庫的日志檔案中找出初始隨機密碼
grep "password" /var/log/mysqld.log

再次進入mysql編輯模式:mysql -u root -p
輸入初始密碼,此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作資料庫
注意:輸入密碼期間不能輸入其他內容,輸入密碼是隱藏不可見的
-- 修改為自己的密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
注意:Mysql密碼設定有默認策略,簡單的密碼設定不了,還會報以下錯誤

解決方法:
可先按照策略修改一個密碼,然后使用密碼重新登錄過后修改策略,策略修改后即可重復修改密碼陳述句進行重新設定密碼
默認策略:大寫+小寫+數字+符號
如果提示沒有mysql命令,需要添加軟連接
ln -s /usr/local/mysql/mysql-5.7.35/bin/mysql /usr/bin/mysql
進入到mysql命令后,出現[mysql>]
此時就可以根據自己需要創建資料庫、創建表等CRUD操作,
遠程訪問
--進入mysql資料庫--
use mysql;
--修改user表的root賬戶的host內容--
update user set host="%" where user="root";
--重繪修改立即生效--
flush privileges;
7、策略修改
對比Mysql8.+和Mysql5.7及一下版本策略,注意變數名稱的不同
-- 查看當前策略
SHOW VARIABLES LIKE 'validate_password%';


-- 更改密碼驗證規則 Mysql5.7-
set global validate_password_policy=0;
set global validate_password_length=1;
-- 更改密碼驗證規則 Mysql8.*
set global validate_password.policy=0;
set global validate_password.length=1;
更改完成之后就可以重復修改密碼步驟進行再次修改啦
8、忘記密碼后修改方式
進入/etc/my.cnf在[mysql]下添加skip-grant-tables啟動安全模式
vim /etc/my.cnf
登錄mysql,輸入密碼時直接回車
mysql -u root -p
修改密碼:update user set password = password("root123") where user = 'root';
重繪權限:flush privileges;
退出Mysql編輯模式:exit
9、設定用戶具有遠程訪問權限
進入mysql編輯模式:mysql -u root -p
執行遠程連接權限賦予命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION;
重繪權限:flush privileges;
mysql8.0需要分步驟執行,命令如下:
-- 創建新用戶
create user 'admin'@'%' identified by 'password';
-- 執行授權
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
-- 重繪
flush privileges;
-- 授權遠程
ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
-- 重繪
flush privileges;
退出Mysql編輯模式:exit
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/545503.html
標籤:MySQL
