Centos7將默認數據庫mysql替換成了Mariadb,如果想繼續使用mysql 需要卸載Mariadb 再安裝mysql;當然也有的直接安裝mysql會覆蓋mariadb,保險起見還是先卸載
1.查看是否安裝了mariadb
rpm -qa |grep -i mariadb
2.卸載已經安裝的:
yum remove mariadb*
3. cd /usr/src
4.下載mysql的rmp包到第3步的路徑下:
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
這里提以下 -c這個參數意思,就是下載到一半的時候斷掉,下次wget可以繼續下載的意思。
5.yum -y install mysql57-community-release-el7-10.noarch.rpm
6.安裝mysql服務器:
yum -y install mysql-community-server
7.安裝完成后就可以啟動了:systemctl start mysqld
Systemctl status mysqld可以查看mysql服務器的狀態,顯示綠色的active(running)就表示安裝成功了
8.如果想要進入到mysql,需要知道mysql的默認密碼
grep "password" /var/log/mysqld.log
返回的內容類似:A temporary password is generated for root@localhost: jw>Q*:pru6Tm
9.輸入命令mysql -u root -p
回車后輸入上一步的默認密碼
10.進來以后需要修改密碼,修改密碼后才能進行其他操作:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
這里的新密碼輸入一個字符數字和特殊符號組合的並且大於8位數的密碼就可以。
11.如果覺得密碼設置的過於復雜,想簡單點,可以通過下面的命令,要先修改密碼才能進行下面的操作:
SHOW VARIABLES LIKE 'validate_password%';
設置密碼的驗證強度等級為LOW:
set global validate_password_policy=LOW;
設置密碼長度為6位:
set global validate_password_length=6;
修改完密碼規則后再重新修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
12.開啟mysql的遠程訪問
grant all privileges on *.* to 'root'@'192.168.1.113' identified by '輸入一個密碼' with grant option;
192.168.1.113是想要允許遠程訪問的電腦IP,如果是想要所有的電腦都能訪問,將這個IP換成%即可。用戶名root,也可以改成其他的,密碼就是后面輸入的密碼。
開啟遠程訪問后,用192.168.1.113這台電腦訪問下mysql數據庫,用root用戶名登陸,密碼輸入第13步設置的密碼,就可以成功遠程登陸mysql了。
13.設置防火牆,添加開放端口
設置mysql的:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
--permanent是永久生效的意思,如果沒有這個參數,重啟電腦后就失效了。
設置tomcat的:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
設置完記得重啟:systemctl restart firewalld
14.進入mysql,然后輸入status
mysql> status

發現有兩個charset編碼不是utf8,可以修改下mysql的主配置文件,輸入quit退出mysql,然后進入下面這個路徑:
vi /etc/my.cnf
按照如下圖修改:

修改完成后關閉my.cnf
重啟mysql服務:systemctl restart mysqld
然后再次進入mysql:mysql -u root -p
輸入status,發現編碼都變成utf8了
進入windows,打開cmd,輸入mysql -h 192.168.1.xx -P 3306 -u root -p
輸入密碼也可以進入mysql了。
忘記密碼:
忘記了設置的密碼,報1045錯,但是還記得root的密碼,可以簡單執行下面的步驟來改一下密碼。
執行命令:
use mysql;
SELECT HOST,USER,authentication_string FROM USER;
發現表中有4條記錄:

authentication這列是密碼列,最后一條放開訪問的那台電腦,忘記密碼的那個,第一行的密碼是我們設置的密碼,就直接將最后一行改成我們知道的密碼:
updata USER SET authentication_string='第一行的密碼' WHERE HOST='192.168.1.113';
另外還可以設置不用密碼直接進入mysql
vi /etc/my.cnf
在[mysqld]下面加上skip-grant-tables
加這兩句話意思就是進入mysql不需要密碼。
