Centos7安裝(配置)Mysql5.7

 

環境:Centos7、JDK1.8(已經安裝成功)、MySQL5.7
步驟:
  1.卸載Mariadb
  2.通過Wget下載mysql5.7
  3.安裝&配置

 

  通過官網下載Mysql5.7版本,然後移動到Centos系統上。也可以通過wget命令下載。

1.卸載mariadb

  先查詢mariadb相關安裝包.卸載mariadb。mariadb是系統自帶的MySQL的妹妹數據庫。

[root@localhost ~]# rpm -qa|grep mari

[root@localhost ~]# rpm -e --nodeps mariadb-libs

[root@localhost ~]# rpm -qa|grep mari

marisa-0.2.4-4.el7.x86_64

 

2.Wget安裝mysql5.7

  通過wget下載mysql5.7安裝包.我們進入/opt,因爲/opt存放我們的安裝軟件,這是一個好習慣。

  如果是通過我分享的軟件包,就不需要執行這一步驟。可跳過這一步驟。掛載的問題在JDK中已經說明。

#將mysql5.7安裝包下載到opt,也可以選擇其它目錄。看個人選擇

[root@localhost ~]# cd /opt/

 

#查看當前路徑是否是opt

[root@localhost opt]# pwd

/opt

 

#查看當前目錄的文件情況

[root@localhost opt]# ll

總用量 0

drwxr-xr-x. 2 root root 6 10月 31 2018 rh

 

#加-c表示斷點續傳 當文件特別大或者網絡特別慢的時候,往往一個文件還沒有下載完,連接就已經被切斷,此時就需要斷點續傳。wget的斷點續傳是自動的,只需要使用-c參數

[root@localhost opt]# wget -c http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

 

 3.安裝&配置

(1).安裝Mysql5.7

#通過tar解壓, 只要後綴爲.tar,則使用-xvf,xvf是固定的格式

[root@localhost opt]# tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

 

#通過rpm命令軟件包管理工具,安裝mysql依賴。一定要按順序執行,否則可能出現依賴的問題

[root@localhost opt]# rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm

 

#查看mysql的rpm文件

[root@localhost opt]# ls

 

 

 

(2).啓動mysql5.7

#運行systemctl start mysqld.service,啓動mysql

[root@localhost opt]# systemctl start mysqld.service

 

#查看mysql狀態

[root@localhost opt]# systemctl status mysqld.service

 

(3).初始化mysql

#Mysql自動給root用戶設置隨機密碼,運行grep "password" /var/log/mysqld.log可看到當前密碼

[root@localhost opt]# grep "password" /var/log/mysqld.log

2020-11-19T12:09:39.357942Z 1 [Note] A temporary password is generated for root@localhost: uh=FR-wzg0A(

 

[root@localhost ~]# mysql -uroot -p

Enter password: uh=FR-wzg0A(

 

#修改默認密碼

#默認的情況下設置的密碼是有限制的,太簡單不能設置;通過設置可以修改成簡單密碼

 

#簡單密碼設置

#更改密碼策略爲LOW:

mysql> set global validate_password_policy=0;

Query OK, 0 rows affected (0.00 sec)

 

#更改密碼長度

mysql> set global validate_password_length=0;

Query OK, 0 rows affected (0.00 sec)

 

#修改默認密碼

mysql> set password for 'root'@'localhost' = password('root123.');

Query OK, 0 rows affected, 1 warning (0.00 sec)

 

 

(4).其它設置

[1].開啓開機自啓動mysql

#設置linux開機自啓動mysql;如果失敗了,可自行百度

[root@localhost opt]# systemctl enable mysqld.service

 

#查看是否自啓動成功;[' ']中若帶*則爲開機自啓動

[root@localhost ~]# ntsysv

 

[2].端口設置

  如需外網訪問需要開設端口等一些設置。

#向防火牆添加允許訪問的端口時,防火牆的狀態必須是開啓狀態

[root@localhost ~]# systemctl start firewalld.service

#固定模式記住就行,只需要修改端口號即可。

[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

success

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

success

 

#重啓防火牆,修改防火牆後都要執行該操作

[root@localhost ~]# firewall-cmd --reload

success

#   命令含義:

 

#   –zone #作用域

#   –add-port=80/tcp #添加端口,格式爲:端口/通訊協議

#   –permanent #永久生效,沒有此參數重啓後失效

[3].mysql遠程設置

  若想通過遠程訪問,或者通過本地的navicat、SQLyog,則必須要配置遠程訪問用戶。如果沒配置,訪問時會出現10016、1130等問題。

#對系統數據庫的root賬戶設置遠程訪問的密碼,與本地的root訪問密碼並不衝突:

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root123.' with grant option;

Query OK, 0 rows affected, 1 warning (0.00 sec)

 


 

常見的MySQL錯誤:

  問題1:連接MySQL的10060錯誤:Can't connect to MySQL server on '*.*.*.*'(10060)

  解決方法:

    網絡問題連接不通:設置連接網絡 服務未啓動:systemctl start mysqld.service 防火牆未關閉(不推薦,生產環境不可以關閉):systemctl stop firewalld.service 服務器上防火牆端口未開放: firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload 權限不足:使用root登錄MySQL執行 grant all privileges on *.* to 'root'@'%' identified by 'root123.' with grant option;

  問題2:ERROR 1130: Host '192.168.1.3' is not allowed to connect to thisMySQL serve

  解決方法:

    可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改"mysql" 數據庫裏的 "user" 表裏的 "host"項,從"localhost"改稱"%"。

    權限不足:使用root登錄MySQL執行 grant all privileges on *.* to 'root'@'%' identified by 'root123.' with grant option;

防火牆常用操作

firewall-cmd --reload #重啓

 

systemctl stop firewalld.service #停止

 

systemctl disable firewalld.service #禁止firewall開機啓動

 

firewall-cmd --state #查看默認防火牆狀態(關閉後顯示notrunning,開啓後顯示running)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章