首先去mysql官網下載mysql的離線rpm安裝包(https://downloads.mysql.com/archives/community/)
Mysql8.0.2離線rpm包下載地址:點擊下載
上傳到/data/rpm/mysql8.0目錄下
因為Mysql依賴於mariadb,所以我們先用rpm -qa | grep mariadb 查找mariadb的包信息
然后使用rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64去除此依賴
接着按照以下順序安裝
rpm -ivh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-8.0.20-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm
安裝完成后,執行systemctl start mysqld.service來運行Mysql
當登錄的時候發現需要輸入密碼
百度得知,mysql7.4以后的版本安裝后都會有一個隨機密碼,可以用 grep 'temporary password' /var/log/mysqld.log 來查看安裝時的默認密碼(此次是triBcK0/NP;o)
輸入密碼,登錄成功
我們可以使用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test!23$';來修改登錄密碼
為了能在主機外管理工具連接上mysql方便管理,我們需要讓mysql的3306端口可以讓外面訪問到
執行以下命令
iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT firewall-cmd --zone=public --add-port=3306/tcp --permanent
在mysql中建立一個用戶,用來進行遠程登錄
CREATE USER 'yuancheng'@'%' IDENTIFIED BY 'Test12#$'; GRANT ALL PRIVILEGES ON *.* TO 'yuancheng'@'%' WITH GRANT OPTION; flush privileges;
在本地使用數據庫連接工具測試連接
至此,我們完成了在Centos下離線安裝Mysql並實現了通過遠程管理工具連接。
ASP.NET CORE如果是從低版本(5.7)連接到8.0的Mysql,會提示密碼加密方式不正確( One or more errors occurred. (Authentication method 'caching_sha2_password' failed. Either use a secure connection, specify the server's RSA public key with ServerRSAPublicKeyFile, or set AllowPublicKeyRetrieval=True.))
解決方法:
1、在/etc/my.cnf中注釋 default-authentication-plugin=mysql_native_password
2、mysql -h127.0.0.1 -P6033 -uroot -p 輸入密碼連接到mysql,然后輸入
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '你的密碼';
FLUSH PRIVILEGES;
3、 重啟MySQL服務