Linux下安裝MySQL你又踩過多少坑【宇宙最全教程】

一、檢查以前是否安裝過MySql

因為cnetos7一般默認安裝mariadb,所以要檢查mysql或者mariadb是否安裝

rpm -pa | grep -i mysql

rpm -pa | grep -i mariadb

結果:

 

 二、發現有的話就都卸載

rpm -e --nodeps 需要卸載的文件名

三、刪除老版本MySQL的開發頭文件和庫

rm -rf  /etc/my.cnf

rm -rf  /var/lib/mysql

注意:卸載後/var/lib/mysql中的數據及/etc/my.cnf不會刪除,確定沒用後就收工刪除

四、準備安裝包

可以根據自己的需要選擇自己版本的安裝包,一般企業用的是5.7+以上的版本,所以我這裡下載的是5.7.2的版本,官方下載://downloads.mysql.com/archives/community/  

我是自己手動下載之後再上傳到虛擬機服務器,同志們也可以根據wget進行下載,各取所需

解壓壓縮包

tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

 

 

 

 

 

 五、安裝相應的依賴包

yum install perl

yum install net-tools

六、安裝Client & Server 

依次執行下列命令進行安裝:

rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm

rpm -ivh mmysql-community-libs-5.7.20-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm

 

七、開啟MySql服務

1、查看mysql服務狀態:

systemctl status mysqld

service mysql status

 

 2、啟動mysql

-- 啟動
systemctl start mysqld


-- 重啟
systemctl restart mysqld

 

 八、登錄

1、免密碼登錄設置,修改配置文件 vi /etc/my.cnf ,找到 [mysqld] ,在下面一行添加 skip-grant-tables ,然後”:wq”保存

 2、重啟mysql 服務 systemctl restart mysqld 然後 輸入命令 mysql

如下圖說明登錄成功

 

 

 3、選擇當前數據庫 use mysql;

 

 

 4、修改root密碼

update user set authentication_string=PASSWORD(新密碼) where user='root';

5、刷新權限

flush privileges;

6、編輯配置文件/etc/my.cnf 取消 skip-grant-tables

7、重啟mysql服務 再次登錄 mysql -uroot -p回車,輸入剛剛修改的密碼然後回車

 

 

九、設置root用戶允許遠程連接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;

flush privileges;

 

 

十、查看防火牆信息並開放端口

前面步驟都執行完之後,就是要開啟防火牆並開通mysql 默認端口3306,傻瓜式執行下面幾個命令就行,不要問我為什麼,執行就完事

1、查看防火牆狀態
systemctl status firewalld

2、如果不是顯示active狀態,需要打開防火牆
systemctl start firewalld

3、查看所有已開放的臨時端口(默認為空)
firewall-cmd --list-ports

4、 查看所有永久開放的端口(默認為空)
firewall-cmd --list-ports --permanent

5、添加永久開放的端口(例如:3306端口)
firewall-cmd --add-port=3306/tcp --permanent

6、配置結束後需要輸入重載命令並重啟防火牆以生效配置
firewall-cmd --reload
systemctl restart firewalld

十一、遠程登錄連接

我使用的是Navicat Premium 16工具進行連接的

 

 

 

 

 十二、修改數據庫的默認編碼 和執行引擎

1、先登錄查看,數據庫的字符編碼,命令 :show variables like ‘%char%’;

 

 2、修改配置文件 /ect/my.cnf,將如下配置添加到配置文件

[mysqld]
lower_case_table_names = 1 # 配置表明不區分大小寫 1不區分,0區分
character-set-server = utf8 # 設置默認編碼為utf8
init_connect = 'SET NAMES utf8'
max_connections = 1024 # 最大連接數
default-storage-engine = INNODB
collation-server = utf8_general_ci

[client]
default-character-set=utf8 # 設置默認編碼為utf8

 

 

 

 參考學習鏈接

//www.bilibili.com/video/BV1di4y1s77q?spm_id_from=333.788.top_right_bar_window_history.content.click

//t.zoukankan.com/mihoutao-p-13254367.html

################################大功告成##########################################