部署mysql-8.0.35

Linux运维技术栈發表於2024-06-15

第一步:解除安裝系統自帶mariadb
檢視系統自帶的Mariadb:rpm -qa|grep mariadb
解除安裝系統自帶的Mariadb:rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
刪除etc目錄下的my.cnf:rm -rf /etc/my.cnf
檢查mysql是否存在:rpm -qa | grep mysql

第二步:將下載的mysql安裝包mysql-8.0.35-1.el7.x86_64.rpm-bundle上傳到指定路徑/usr/local

第三步:在當前目錄下建立一個 mysql-8.0.35 資料夾,解壓安裝包到該目錄下,tar -xvf mysql-8.0.35-1.el7.x86_64.rpm-bundle

第四步:下載並安裝mysql依賴的外掛 yum -y install openssl-devel;yum -y install libaio;yum -y remove mysql-libs

第五步:裝完該外掛之後,依次按順序執行以下命令安裝這些 rpm 包

rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-common-8.0.35-1.el7.x86_64.rpm
......
報錯處理:
yum install perl-JSON
yum install -y perl-Module-Install.noarch

第五步:修改配置檔案
命令:vim /etc/my.cnf
加入以下內容:

[mysqld]
##設定埠
port=3306
##設定字符集
character-set-server=utf8mb4
##不區分大小寫
lower_case_table_names=1
##group_concat()函式預設長度1024,需要調整200000
group_concat_max_len=200000
##資料庫最大連線數100,改為10000
max_connections=10000
##鎖等待的時間是預設為50s,修改為500
innodb_lock_wait_timeout=500

第六步:MySQL 安裝好了之後系統會自動的註冊一個服務,服務名稱叫做 mysqld,所以可以透過以下命令操作 MySQL:
啟動 MySQL 服務:systemctl start mysqld
重啟 MySQL 服務:systemctl restart mysqld
關閉 MySQL 服務:systemctl stop mysqld
先啟動mysql服務

第七步:rpm 安裝 MySQL 會自動生成一個隨機密碼,可在 /var/log/mysqld.log 這個檔案中查詢該密碼

第八步:連線 MySQL :mysql -u root –p或mysql -uroot –p
這裡如果報錯:2800.且根本就沒用登入密碼的介面,無法登入資料庫

做以下操作處理:
第九步:在修改配置之前,先把 mysql 服務停止
命令:systemctl stop mysqld.service

第十步:刪除錯誤日誌
命令:rm -rf /var/log/mysqld.log

第十一步:遞迴刪除 /var/lib/mysql 目錄下面的內容
命令:cd /var/lib/mysql
rm -rf * #遞迴刪除

第十二步:刪除原目錄,建立資料庫目錄並授權
命令:rm -rf /var/lib/mysql
進入/var/lib 目錄,建立目錄:cd /var/lib;mkdir mysql
賦權:chown -R mysql:mysql mysql

第十三步:初始化 MySql
命令:mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql
啟動服務:systemctl start mysqld.service
檢視服務:systemctl status mysqld.service

第十四步:連線資料庫,修改root使用者密碼
命令:mysql -uroot –p並輸入密碼

第十五步:1.8修改root使用者密碼:ALTER USER 'root'@'localhost' IDENTIFIED BY 'fjdkjkfhkfjlgk';
第十六步:建立使用者與許可權分配
命令:create user 'mysqladmin'@'%' IDENTIFIED WITH mysql_native_password BY 'Dfdghjgkjdl';
命令:grant all on . to 'mysqladmin'@'%';
命令:flush privileges;
Myaql開機自啟動:
方法一:
命令:systemctl enable mysqld
如果不生效,採用方法二
方法二:
搜尋mysql.server檔案:find / -name ‘mysql.server’
根據實際路徑來,替換如下方法路徑:
先將/usr/local/mysql/mysql/support-files/ 資料夾下的mysql.server檔案複製到 /etc/rc.d/init.d/ 目錄下mysqld

命令: cp /usr/local/mysql/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

賦予可執行許可權:chmod +x /etc/init.d/mysqld

新增為服務: chkconfig --add mysqld

檢視服務列表: chkconfig --list

看到3、4、5狀態為開或者為 on 則表示成功。如果是 關或者 off 則執行一下:chkconfig --level 345 mysqld on

重啟計算機:reboot(***這條命令謹慎使用,會影響業務短暫的停止)

相關文章