CentOS7和Ubuntu18.04不同系統如何搭建mysql服務
阿新 • • 發佈:2020-11-23
Linux安裝mysql
本次安裝Linux基於虛擬機器CentOS7和Ubuntu18.04
一.CentOS7安裝mysql
1.利用yum源來安裝。mysql版本5.7.14
yum -y install mysql57-community-release-el7-10.noarch.rpm
如果出現以下錯誤:
這是因為yum倉庫中沒有可用的mysql-server rpm包,可以執行如下命令進行下載
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
下載成功:
下載mysql-server
yum -y install mysql-community-server
2.配置、啟動mysql
1.檢視mysql狀態
systemctl status mysqld
或
systemctl status mysqld.service
2.啟動mysql
systemctl start mysqld
#然後繼續檢視mysql狀態是否啟動
systemctl status mysqld
3.檢視mysql初始密碼
mysql預設必須修改密碼之後才能操作資料庫
[root@centos software]# cat /var/log/mysqld.log |grep 'password'
2020-11-23T03:24:57.885361Z 1 [Note] A temporary password is generated for root@localhost: TXgPuICyX8%k
4.登入資料庫
mysql -u root -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
檢視防火牆是否開啟
systemctl status firewalld
或
firewall-cmd --state
如果防火牆是關閉狀態,開啟防火牆
systemctl start firewalld
防火牆新增mysql開發埠3306
[root@centos software]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
4.防火牆配置立即生效
[root@centos software]# firewall-cmd --reload
success
檢視防火牆所有開放的埠
[root@centos software]# firewall-cmd --zone=public --list-ports
3306/tcp
關閉開放埠
[root@centos software]# firewall-cmd --zone=public --remove-port=3306/tcp --permanent
success
需要重新載入防火牆配置,才能生效
firewall-cmd --reload
如果要開放的埠太多,可以直接關閉防火牆,當然,安全性自行評估
systemctl stop firewalld
擴充套件
檢視監聽的埠
netstat -lnpt
檢查埠被哪個程序佔用,如:
[root@centos software]# netstat -lnpt |grep 9200
tcp6 0 0 :::9200 :::* LISTEN 1421/java
檢視程序的詳細資訊
[root@centos software]# ps 1421
PID TTY STAT TIME COMMAND
1421 ? Sl 1: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
systemctl restart mysqld
登入進入mysql檢視
二.Ubuntu18.04安裝mysql
所有操作都是在root許可權下進行
1.從apt源下載mysql-server
#預設會自行安裝
apt install -y mysql-server
2.檢視是否安裝成功
netstat -tap | grep mysql
3.登入mysql
#預設是沒有密碼,直接按`enter`回車鍵,就可以直接進入
mysql -u root -p
4.初始化資料庫
為了確保資料庫的安全性和正常執行,建議進行如下5個步驟的設定
安裝驗證密碼外掛 設定root管理員在資料庫中的登入密碼 刪除匿名賬戶,並使用root管理員從遠端登入資料庫,以確保資料庫上執行的業務的安全性 刪除預設的測試資料庫,取消測試資料庫的一系列訪問許可權 重新整理授權列表,讓初始化的設定立即生效
mysql_secure_installation
5.檢視mysql執行狀態
service status mysql
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
systemctl restart mysqld
9.驗證本地訪問遠端mysql
至此已完成mysql在CentOS7和Ubuntu18.04不同系統的搭建!!!!