1. 程式人生 > 實用技巧 >LeetCode #985. Sum of Even Numbers After Queries

LeetCode #985. Sum of Even Numbers After Queries

Linux安裝mysql

本次安裝Linux基於虛擬機器CentOS7和Ubuntu18.04

一.CentOS7安裝mysql

1.利用yum源來安裝。mysql版本5.7.14
yum-yinstallmysql57-community-release-el7-10.noarch.rpm

如果出現以下錯誤:

這是因為yum倉庫中沒有可用的mysql-server rpm包,可以執行如下命令進行下載

wget-i-chttp://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

下載成功:

下載mysql-server

yum-yinstallmysql-community-server
2.配置、啟動mysql

1.檢視mysql狀態

systemctlstatusmysqld

systemctlstatusmysqld.service

2.啟動mysql

systemctlstartmysqld
#然後繼續檢視mysql狀態是否啟動
systemctlstatusmysqld

3.檢視mysql初始密碼

mysql預設必須修改密碼之後才能操作資料庫

[root@centossoftware]#cat/var/log/mysqld.log|grep'password'
2020-11-23T03:24:57.885361Z1[Note]Atemporarypasswordisgeneratedforroot@localhost:TXgPuICyX8%k

4.登入資料庫

mysql-uroot-p
#然後輸入預設密碼TXgPuICyX8%k

5.修改資料庫登入密碼

mysql> alter user 'root'@'localhost' identified by 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

報錯原因是密碼設定過於簡單,mysql有密碼設定的規範

密碼長度是由validate_password_length決定的,可以通過如下命令修改

set global validate_password_length=LOW;

檢視mysql密碼設定規範

SHOW VARIABLES LIKE 'validate_password%';

6.開啟mysql的遠端訪問

執行下面命令開啟遠端訪問限制(下面命令開啟的是IP是10.0.105.114,如果要開啟所有的,用%代替IP),mysql預設是拒絕遠端訪問的。

grant all privileges on *.* to 'root'@'10.0.105.114' identified by 'root' with grant option;

7.開啟防火牆埠,CentOS為firewalld新增開放埠3306

  1. 檢視防火牆是否開啟
systemctlstatusfirewalld

firewall-cmd--state
  1. 如果防火牆是關閉狀態,開啟防火牆
systemctlstartfirewalld
  1. 防火牆新增mysql開發埠3306
[root@centossoftware]#firewall-cmd--zone=public--add-port=3306/tcp--permanent
success

4.防火牆配置立即生效

[root@centossoftware]#firewall-cmd--reload
success
  1. 檢視防火牆所有開放的埠
[root@centossoftware]#firewall-cmd--zone=public--list-ports
3306/tcp
  1. 關閉開放埠
[root@centossoftware]#firewall-cmd--zone=public--remove-port=3306/tcp--permanent
success

需要重新載入防火牆配置,才能生效

firewall-cmd --reload

  1. 如果要開放的埠太多,可以直接關閉防火牆,當然,安全性自行評估
systemctlstopfirewalld

擴充套件

  1. 檢視監聽的埠
netstat-lnpt
  1. 檢查埠被哪個程序佔用,如:
[root@centossoftware]#netstat-lnpt|grep9200
tcp600:::9200:::*LISTEN1421/java
  1. 檢視程序的詳細資訊
[root@centossoftware]#ps1421
PIDTTYSTATTIMECOMMAND
1421?Sl1:01/usr/java/jdk1.8.0_241/bin/java-Xshare:auto-Des.networkaddress.cache.ttl=60-Des.networkaddress.cache.negative.ttl=10-XX:+AlwaysPreTouch-Xss1m-Djava.awt.headless=true-Dfil
3.設定編碼
vim/etc/my.cnf

增加如下程式碼

[client]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

如圖:

重啟mysql

儲存my.conf檔案後,需要重啟mysql,然後輸入status檢視

#重啟mysql
systemctlrestartmysqld

登入進入mysql檢視

二.Ubuntu18.04安裝mysql

所有操作都是在root許可權下進行

1.從apt源下載mysql-server
#預設會自行安裝
aptinstall-ymysql-server
2.檢視是否安裝成功
netstat-tap|grepmysql
3.登入mysql
#預設是沒有密碼,直接按`enter`回車鍵,就可以直接進入
mysql-uroot-p
4.初始化資料庫

為了確保資料庫的安全性和正常執行,建議進行如下5個步驟的設定

  • 安裝驗證密碼外掛
  • 設定root管理員在資料庫中的登入密碼
  • 刪除匿名賬戶,並使用root管理員從遠端登入資料庫,以確保資料庫上執行的業務的安全性
  • 刪除預設的測試資料庫,取消測試資料庫的一系列訪問許可權
  • 重新整理授權列表,讓初始化的設定立即生效
mysql_secure_installation
5.檢視mysql執行狀態
servicestatusmysql
6.設定mysql可以遠端訪問
#預設只允許本機訪問
vim/etc/mysql/mysql.conf.d/mysqld.cnf
#註釋掉bind-address=127.0.0.1
7.進行授權

修改完上述配置檔案,再次進入mysql資料庫,進行授權

#執行下面命令開啟遠端訪問限制(下面命令開啟的是IP是10.0.105.114,如果要開啟所有的,用%代替IP),mysql預設是拒絕遠端訪問的。
mysql>  grant all on *.* to root@'10.0.105.114' identified by 'root' with grant option; 
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>  flush privileges;  #重新整理許可權
Query OK, 0 rows affected (0.00 sec)
8.重啟mysql
systemctlrestartmysqld
9.驗證本地訪問遠端mysql

至此已完成mysql在CentOS7和Ubuntu18.04不同系統的搭建!!!!