Linux下安裝MySQL你又踩過多少坑【宇宙最全教程】
- 2022 年 3 月 8 日
- 筆記
- Linux之MySql, 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
################################大功告成##########################################