參考博客:https://www.cnblogs.com/zkhbalance/p/9084807.html
給了我很大的幫助,但是其中一些小問題沒有說明也花了很多時間,在這裏把我遇到的問題更新上去,作爲下次安裝的指導。
更新軟件
yum update
下載和更新倉庫
yum install mysql-server
systemctl start mysqld
配置MySql
運行如下腳本文件
mysql_secure_installation
提示輸入root密碼,初始爲null,回車就可以設置root密碼了(設置的時候可能看不到光標移動,沒有關係,繼續輸入,只是不顯示而已)
之後提示一連串的問題,根據需要自己選擇y 或者 n吧
連接MySql
mysql -uroot -p
這裏登陸mysql,-u後面是root用戶名,-p後面跟着寫入你設置的密碼,這篇文章裏密碼默認也是root
查看MySql的編碼並修改
mysql>show variables like '%character%';
這裏是在登陸mysql後,輸入show variables like ‘%character%’; 這行代碼。
可以看到database和server編碼都爲latin1,我們需要修改爲utf8。
-
退出數據庫後,輸入以下代碼
vim /usr/my.cnf
-
打開my.cnf配置文件後,在[client]下面增加以下代碼
default-character-set = utf8
-
在[mysqld]下新增以下代碼
character_set_server = utf8
效果如下
這裏要注意!
1.有可能打開my.cnf配置文件後[client]和[mysqld]是空的,那就自己新增上圖的所有代碼,照着原樣敲上去;
2.如果打開配置文件後,已經在[client]和[mysqld]下面各有一些內容了,那麼就新增到後面即可。
3.如果輸入代碼不會編輯,操作如下:首先,鍵盤敲i,進入插入狀態,然後方向鍵移動光標,插入以上內容;編輯完成後,按esc,然後再輸入:(就是shift+;這兩個鍵一起按);最後再打wq,回車就保存退出了。 -
重啓MySql服務 這句代碼和之前使用的net start mysql作用是一樣的 開啓服務 centos7使用以下代碼
systemctl restart mysql.service
-
重現連接mysql並查看編碼如下:
mysql -uroot –p(自己在這裏跟上自己的密碼)
-
登陸數據庫後再次查看
mysql>show variables like '%character%';
效果應該是這樣的
允許遠程登錄
用root用戶登錄mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '(引號裏面輸入自己數據庫設置的密碼)';
FLUSH PRIVILEGES;
開放3306端口
- 將3306端口設置防火牆允許訪問:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
如果輸入完提示
那麼防火牆可能還沒有開啓;如果沒有上圖的提示,直接看第二步。
通過systemctl status firewalld
查看firewalld狀態,發現當前是dead狀態,即防火牆未開啓。
通過systemctl start firewalld
開啓防火牆,沒有任何提示即開啓成功。
再次通過systemctl status firewalld
查看firewalld狀態,顯示running即已開啓了。
如果要關閉防火牆設置,可能通過systemctl stop firewalld
這條指令來關閉該功能。
- 執行代碼,重新啓動防火牆
firewall-cmd --reload