一、檢查以前是否安裝過MySql
因為CentOS7一般默認安裝mariadb,所以要檢查mysql或者mariadb是否安裝
rpm -pa | grep -i mysql rpm -pa | grep -i mariadb
whereis mysql
結果:
二、發現有的話就都卸載
rpm -e --nodeps 需要卸載的文件名
rm -rf 需要卸載的文件名
三、刪除老版本MySQL的開發頭文件和庫
rm -rf /etc/my.cnf rm -rf /var/lib/mysql
注意:卸載后/var/lib/mysql中的數據及/etc/my.cnf不會刪除,確定沒用后就手動刪除
四、准備安裝包
可以根據自己的需要選擇自己版本的安裝包,一般企業用的是5.7+以上的版本,所以我這里下載的是5.7.2的版本,官方下載:https://downloads.mysql.com/archives/community/
我是自己手動下載之后再上傳到虛擬機服務器,同志們也可以根據wget進行下載,各取所需
解壓壓縮包
tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
五、安裝相應的依賴包
yum update
yum install perl yum install net-tools
六、安裝Client & Server
依次執行下列命令進行安裝:
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm rpm -ivh mysql-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 mysqld 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';
SET PASSWORD = PASSWORD('新密碼');
5、刷新權限
flush privileges;
# 退出MySQL
quit;
或
exit;
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
參考學習鏈接
http://t.zoukankan.com/mihoutao-p-13254367.html
出現錯誤解決方案:
https://www.cnblogs.com/vzhangxk/p/15567447.html
https://blog.csdn.net/Wing_kin666/article/details/110921440
################################大功告成##########################################