參考文章:https://blog.csdn.net/qq_41510551/article/details/110731610
使用yum進(jìn)行安裝
1.查看是否已經(jīng)安裝了mysql
[root@localhost ~]# rpm -qa|grep mysql #無(wú)輸出說(shuō)明沒(méi)有安裝
2.找到對(duì)應(yīng)linux的版本進(jìn)行下載
查看自己的版本:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
3.下載和安裝mysql源
[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
如果顯示wget未找到命令想罕,則需要先安裝wget:
yum -y install wget
然后再次執(zhí)行上面命令
4.安裝mysql源
[root@localhost ~]# sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
5.檢查是否安裝成功:
執(zhí)行成功后會(huì)在/etc/yum.repos.d/目錄下生成兩個(gè)repo文件mysql-community.repo及 mysql-community-source.repo
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls -l
總用量 12
-rw-r--r--. 1 root root 2523 6月 16 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 2076 4月 25 2019 mysql-community.repo
-rw-r--r--. 1 root root 2108 4月 25 2019 mysql-community-source.repo
[root@localhost yum.repos.d]#
6.查看mysql相關(guān)資源
yum repolist enabled | grep "mysql.-community."
7.選擇masql版本
使用MySQL Yum Repository安裝MySQL辰狡,默認(rèn)會(huì)選擇當(dāng)前最新的穩(wěn)定版本
使用命令:yum repolist all | grep mysql,查看當(dāng)前yum repolist的所有版本
切換版本
[root@localhost ~] sudo yum-config-manager --disable mysql80-community
[root@localhost ~] sudo yum-config-manager --enable mysql57-community
8.安裝mysql
[root@localhost ~]# sudo yum install mysql-community-server
9.啟動(dòng)
[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# systemctl status mysqld.service
10.停止
[root@localhost ~]# systemctl stop mysqld.service
11.重啟
[root@localhost ~]# systemctl restart mysqld.service
12.修改密碼及登錄
初始密碼
MySQL第一次啟動(dòng)后會(huì)創(chuàng)建超級(jí)管理員賬號(hào)root@localhost瘫里,初始密碼存儲(chǔ)在日志文件中:
[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
2020-12-06T07:32:41.399112Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Nd<-p!Fxt6A8
解決方法如下:
使用復(fù)雜密碼莺丑,MySQL默認(rèn)的密碼策略是要包含數(shù)字跋炕、字母及特殊字符拢切;
如果只是測(cè)試用虚循,不想用那么復(fù)雜的密碼如捅,可以修改默認(rèn)策略棍现,即validate_password_policy(以及validate_password_length等相關(guān)參數(shù)),使其支持簡(jiǎn)單密碼的設(shè)定镜遣,具體方法可以參考:設(shè)置密碼策略己肮;
修改配置文件/etc/my.cnf,添加validate_password=OFF悲关,保存并重啟MySQL
修改報(bào)錯(cuò)后重啟報(bào)錯(cuò)解決可參考:https://blog.csdn.net/aiyowei1106/article/details/88703746
13.設(shè)置開(kāi)機(jī)啟動(dòng)
[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl daemon-reload
14.關(guān)閉防火墻
允許遠(yuǎn)程登錄
# firewall防火墻
systemctl status firewalld
# 查看轉(zhuǎn)態(tài)
firewall-cmd --state
# 開(kāi)啟
service firewalld start
# 重啟
service firewalld restart
# 關(guān)閉
service firewalld stop
#注意分清楚linux的版本 命令會(huì)有所不同
#查看防火墻規(guī)則
firewall-cmd --list-all
15.刪除mysql
檢查mariadb
[root@localhost ~]# rpm -qa|grep mariadb
如無(wú)則跳過(guò)下面一條
刪除mariadb
[root@localhost ~]# rpm -e --nodeps mariadb-server
[root@localhost ~]# rpm -e --nodeps mariadb
[root@localhost ~]# rpm -e --nodeps mariadb-libs
檢查mysql
[root@localhost ~]# rpm -qa|grep mysql
mysql-community-client-8.0.22-1.el7.x86_64
mysql-community-common-8.0.22-1.el7.x86_64
mysql-community-client-plugins-8.0.22-1.el7.x86_64
mysql-community-libs-compat-8.0.22-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-libs-8.0.22-1.el7.x86_64
mysql-community-server-8.0.22-1.el7.x86_64
[root@localhost ~]#
刪除mysql
[root@localhost ~]# rpm -e --nodeps xxx
16.遠(yuǎn)程連接
遠(yuǎn)程連接時(shí)報(bào)錯(cuò)
原因
mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password
解決
先登錄mysql用戶:use mysql;
查詢當(dāng)前主機(jī)配置信息為localhost:select host from user where user='root';
更改為通配符:update user set host = '%' where user ='root';
Host修改完成后記得執(zhí)行flush privileges使配置立即生效:flush privileges;
更改加密方式
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVEER;
Query OK, 0 rows affected (0.01 sec)
更新用戶密碼
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)