7.4.1. 檢測是否安裝MySQL數(shù)據(jù)庫和Mariadb
1、檢測系統(tǒng)有沒有安裝mysql數(shù)據(jù)庫和Mariadb,
執(zhí)行命令:rpm -qa | grep mysql
執(zhí)行命令:rpm -qa|grep mariadb
2、刪除
如果有,需要先刪除Mysql和Mariadb
1)mysql刪除,執(zhí)行命令:
cp /etc/my.cnf /etc/my.cnf.bak
yum remove mysql mysql-server mysql-libs mysql-server;
find / -name mysql 將找到mysql相關(guān)東西delete掉(rm -rf /var/lib/mysql);
執(zhí)行命令:rm /etc/my.cnf (刪除my.cnf文件)
查看是否還有mysql軟件,執(zhí)行命令:
執(zhí)行命令:rpm -qa|grep mysql
如果存在的話,繼續(xù)刪除即可。
2)Mariadb刪除:
執(zhí)行命令:rpm -e --nodeps
mariadb-libs-5.5.56-2.el7.x86_64
根據(jù)上面的檢測,我們需要?jiǎng)h除Mariadb。
7.4.2. 拷貝離線安裝包并解壓
1、下載
mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz安裝包,下載鏈接如下:
鏈接:
https://pan.baidu.com/s/1wvIy783bXktDxxQdtXNLfA ,提取碼:0ra5
或者通過以下MySQL官網(wǎng)鏈接下載即可:
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
2、放置在/opt/ 路徑下:
用工具將
mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz上傳到/opt/下,
3、解壓安裝包,解壓到”/opt/“下面:
# 切換目錄
執(zhí)行命令:cd /opt
# 解壓
執(zhí)行命令:tar -xvf
mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
# 重命名
執(zhí)行命令:mv
mysql-5.7.36-linux-glibc2.12-x86_64 mysql
#或者通過創(chuàng)建軟鏈接便于使用,這是為了方便后期維護(hù)者方便查看MySQL版本號
執(zhí)行命令:ln -s
mysql-5.7.36-linux-glibc2.12-x86_64/ mysql
#通過輸入ll命令查看當(dāng)前需要安裝MySQL的所有文件
7.4.3. 創(chuàng)建mysql用戶、用戶組
# 添加mysql組
執(zhí)行命令:groupadd mysql
# 創(chuàng)建用戶mysql并將友好加到組mysql
執(zhí)行命令:useradd -g mysql mysql
7.4.5. 修改配置文件my.cnf
執(zhí)行命令:cp /etc/my.cnf.bak /etc/my.cnf
chmod 775 /etc/my.cnf,
執(zhí)行命令:vi /etc/my.cnf
打開/etc/my.cnf文件,并在該文件中添加如下代碼后保存退出
[mysqld]
# 配置MySQL的主目錄
basedir=/opt/mysql/
# 配置MySQL的數(shù)據(jù)目錄
datadir=/opt/mysql/data/
socket=/tmp/mysql.sock
user=mysql
tmpdir=/tmp
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server = utf8
[client]
default-character-set = utf8
[mysqld_safe]
# 配置MySQL的錯(cuò)誤日志文件路徑
log-error=/opt/mysql/data/error.log
# 配置MySQL的數(shù)pid文件路徑
pid-file=/opt/mysql/mysql.pid
最后:按住Shift鍵,輸入wq!回車保存后退出編輯界面
7.4.5. 安裝并配置數(shù)據(jù)庫
<1>. 進(jìn)入MySQL解壓后的主目錄
執(zhí)行命令:cd /opt/mysql
<2>.創(chuàng)建MySQL的數(shù)據(jù)文件目錄”data“ ,并通過ll命令查看是否創(chuàng)建成功
執(zhí)行命令:mkdir data
<3>.更改mysql5.7 目錄下所有文件夾所屬的用戶組、用戶以及權(quán)限,將MySQL的主目錄的所有權(quán)改為mysql用戶,并通過ll命令查看。
執(zhí)行命令:chown -R mysql:mysql /opt/mysql/
chmod -R 755 /opt/mysql/
<4>.進(jìn)入/opt/mysql/bin/目錄,編譯安裝并初始化mysql,
執(zhí)行命令:cd /opt/mysql/bin/
執(zhí)行命令:./mysqld --initialize --user=mysql --datadir=/opt/mysql/data --basedir=/opt/mysql
注:命令執(zhí)行完后務(wù)必記住數(shù)據(jù)庫管理員臨時(shí)密碼,如下圖畫紅色框的部分
<5>. 將mysql/目錄下所有文件,所有權(quán)都改回root用戶,并通過ll命令查看。
執(zhí)行命令:cd /opt/mysql
chown -R root .
<6>.將mysql用戶只需作為mysql/data/目錄下所有文件的所有者,并通過ll命令查看
執(zhí)行命令:chown -R mysql data
<7>.制作MySQL啟動(dòng)文件
# 拷貝啟動(dòng)文件,并改名為mysqld
執(zhí)行命令:cp
support-files/mysql.server /etc/init.d/mysqld
# 設(shè)置啟動(dòng)文件的權(quán)限
執(zhí)行命令:chmod 755 /etc/init.d/mysqld
# 拷貝文件
執(zhí)行命令:cp bin/my_print_defaults /usr/bin/
<8>.修改啟動(dòng)腳本
執(zhí)行命令: vi /etc/init.d/mysqld
打開/etc/init.d/mysqld文件,并在該文件中添加如下代碼后保存退出
# 配置MySQL的主目錄
basedir=/opt/mysql/
# 配置MySQL的數(shù)據(jù)目錄
datadir=/opt/mysql/data/
# 配置MySQL的端口
port=3306
# 5個(gè)位置的/usr/local/mysql全部修改成/opt/mysql,因?yàn)閘z沒有安裝下/usr/local/mysq目錄下,所以需要修改成lz安裝的/opt/mysql目錄
then
basedir=/opt/mysql
bindir=/opt/mysql/bin
if test -z "$datadir"
then
datadir=/opt/mysql/data
fi
sbindir=/opt/mysql/bin
libexecdir=/opt/mysql/bin
配置效果:
最后:按住Shift鍵,輸入wq!回車保存后退出編輯界面
<9>.配置環(huán)境變量
配置環(huán)境變量文件”/etc/profile“
執(zhí)行命令:vi /etc/profile
# 將MySQL主目錄下面的bin目錄加入到PATH環(huán)境變量
export PATH=$PATH:/opt/mysql/bin
最后:按住Shift鍵,輸入wq!回車保存后退出編輯界面
然后使環(huán)境變量生效
執(zhí)行命令:source /etc/profile
7.4.6. 設(shè)置Mysql數(shù)據(jù)庫密碼
<1>.啟動(dòng)MySQL服務(wù)
#查詢服務(wù)
執(zhí)行命令:ps -ef|grep mysql
ps -ef|grep mysqld
# 啟動(dòng)MySQL服務(wù)
執(zhí)行命令:service mysqld start
<2>.登錄MySQL進(jìn)行配置
# 注意:-p后面接的是初始化密碼”vb,VT;HUD7sa“,這個(gè)密碼是隨機(jī)產(chǎn)生,登錄以后
立即修改。登錄mysql ,密碼就是初始化時(shí)生成的臨時(shí)密碼
執(zhí)行命令:mysql -uroot -p ,輸入密碼:vb.VT;HUD7sa后回車
# 修改密碼
執(zhí)行命令:
use mysql;
如果報(bào):You must reset your password using ALTER USER statement before executing this statement.
執(zhí)行命令:
#這里注意,填寫密碼的時(shí)候滿足8位并且盡量是混合密碼(英文、下劃線、數(shù)字)
alter user user() identified by 'ht88864488_.';
update user set authentication_string=password("ht88864488") where user="root";
FLUSH PRIVILEGES;
Exit;
7.4.7. 給root用戶開啟遠(yuǎn)程登錄權(quán)限
# 設(shè)置MySQL遠(yuǎn)程可以登錄。
執(zhí)行命令:mysql -uroot -p ,輸入密碼:ht88864488后回車登錄數(shù)據(jù)庫
執(zhí)行命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ht8864488' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Exit;
7.4.8. 防火墻開啟3306端口權(quán)限
在防火墻上給MySQL開3306端口,以供用戶的訪問。
#授權(quán)3306端口號權(quán)限
執(zhí)行命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
重啟防火墻,執(zhí)行命令:
#firewall-cmd --reload
注意:配置權(quán)限后,如果發(fā)現(xiàn)遠(yuǎn)程登錄有如下報(bào)錯(cuò):
解決辦法:把密碼重新重置一遍.
Mysql開機(jī)啟動(dòng):
#增加mysql服務(wù)控制腳本執(zhí)行權(quán)限,執(zhí)行命令:
執(zhí)行命令:chmod +x /etc/rc.d/init.d/mysqld
#將mysqld服務(wù)加入到系統(tǒng)服務(wù),檢查mysql服務(wù)是否已經(jīng)生效,執(zhí)行命令:
執(zhí)行命令:
chkconfig --add mysqld
chkconfig --list mysqld
然后執(zhí)行命令:reboot重啟服務(wù)器查看服務(wù)器MySQL運(yùn)行狀態(tài)
執(zhí)行命令:systemctl status mysql,發(fā)現(xiàn)Mysql已正常啟動(dòng)