RedHat 7.6 安裝 Mysql 8.0.17


# 查看是否安裝mysql

rpm -qa | grep -i mysql

# 如果有,需要卸載舊版本Mysql及相關依賴包

rpm -e MySQL-client-***

# 查看開機啟動服務列表狀態

systemctl list-unit-files

# 禁用mysql服務

systemctl disable mysqld

# 查找mysql文件夾 find / -name *mysql*

whereis mysql

# 刪除 對應的目錄下所有文件 注意不要把有用的刪了

rm -rf /use/lib/mysql

 

卸載系統預置的mariadb,才能安裝mysql。因為centos 和 redhat 內部集成了mariadb, 如果不卸載mariadb,安裝mysql時會和mariadb文件沖突.

# 查詢是否已安裝的mariadb
rpm -qa|grep mariadb
# 卸載mariadb,文件名為上述命令查詢出來的文件 rpm
-e --nodeps 文件名

# 重啟系統
reboot

 

創建下載目錄

mkdir /usr/local/mysql8
cd /usr/local/mysql8

Mysql官方地址:

https://dev.mysql.com/downloads/mysql/

 

# 下載安裝包
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

# 解壓
tar -xvf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

# 按照以下順序安裝  
# -i 安裝 -v 列出更多詳細信息 -h 安裝時列出hash標記
rpm -ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm 
rpm
-ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-8.0.17-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.17-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.17-1.el7.x86_64.rpm

  rpm -ivh mysql-community-test-8.0.17-1.el7.x86_64.rpm

  錯誤:依賴檢測失敗:perl(JSON) 被 mysql-community-test-8.0.17-1.el7.x86_64 需要

因為缺少perl-JSON依賴包.

#查找perl-JSON相關包名稱
yum list perl-JSON  或 yum list |grep "perl-JSON"

# 安裝perl-JSON
yum install -y perl-JSON-2.59-2.el7.noarch

#重新安裝
rpm -ivh mysql-community-test-8.0.17-1.el7.x86_64.rpm

mysql安裝完成.

# 查看mysql服務運行狀態
systemctl status mysqld

# 啟動mysqld服務
systemctl start mysqld

# 查看臨時密碼
grep -i password /var/log/mysqld.log

# 使用臨時密碼登錄
mysql -u root -p'密碼'

修改root用戶默認密碼  我執行 以下語句一直是等待輸入的狀態, 不太熟悉mysql, 查了一個多小時沒查到什么問題, 問了下群里告訴我說 少了 ; , 輸入; 就可以了.

# 缺少 ; 語句后不加; 不會返回執行結果, 顯示等待輸入, 一定要加; 表示語句結束.  顯示等待輸入, 此時輸入; 回車就可以了.
alter USER 'root'@'localhost' IDENTIFIED BY 'DEFg@ABC1'
# 正確的語句
alter USER 'root'@'localhost' IDENTIFIED BY 'DEFg@ABC1';

修改root用戶遠程登錄

#切換數據庫
use mysql;

# 查看用戶是否允許遠程登錄 localhost 僅本地  % 可以遠程登錄
select host,user, authentication_string, plugin from user;

# 修改root用戶可遠程登錄.
update user set host = "%" where user='root';

使用遠程工具連接mysql8.0, 賬戶密碼都正確但是報錯. 查了下具體是因為:之前版本MySQL的密碼認證插件為“mysql_native_password”,新版本改為:“caching_sha2_password”.  

#修改為舊的密碼認證方式.
use mysql;

alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'DEFg@ABC1';

flush privileges;

修改完就可以使用遠程管理工具連接mysql8.0.17了.

 一個重要的命令:

#退出mysql
quit

 

重要的目錄:

datadir=/var/lib/mysql
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

# 查看運行進程
ps -ef | grep mysqld

# 查看端口
netstat -tulpn |grep mysqld


服務操作:

# 啟動服務
systemctl start mysqld

# 重啟服務
systemctl restart mysqld

# 加入開機啟動
systemctl enable mysqld;

# 停止運行服務
systemctl stop  mysqld ;

# 加入開機禁用
systemctl disable  mysqld;

# 查看狀態
systemctl status mysqld;

# 查看httpd的開機啟動狀態列表
systemctl list-unit-files;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM