備忘錄(005) - Centos8安裝配置MySQL8.0.26


1、從官網下載MySQL離線包

MySQL8.0.26下載url:
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

2、上傳離線包到centos8的opt目錄

3、創建apps目錄

mkdir /usr/local/apps

4、解壓壓縮包到apps目錄並重命名MySQL文件夾

解壓壓縮包到指定目錄下
tar -xvf /opt/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz -C /usr/local/apps

重命名文件夾
mv /usr/local/apps/mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/apps/mysql8.0.26

5、配置環境變量

將字符串以追加的方式寫入文件
echo -e " export MYSQL_HOME=/usr/local/apps/mysql8.0.26\n export PATH=\${PATH}:\${MYSQL_HOME}/bin\n" >> /etc/profile

讓修改后的配置立即生效
source /etc/profile

6、創建MySQL配置文件

進入mysql文件夾
cd /usr/local/apps/mysql8.0.26

從gitee下載配置文件
wget https://gitee.com/DragonYmqx/source/raw/master/properties/my.cnf
my.cnf的內容(也可以手動創建my.cnf文件,並復制以下內容)
[mysqld]
 # 設置3306端口
 port=3306
 # 設置mysql的安裝目錄
 basedir=/usr/local/apps/mysql8.0.26
 # 設置mysql數據庫的數據的存放目錄
 datadir=/usr/local/apps/mysql8.0.26/data
 # 指定存放進程ID的文件
 pid_file=/usr/local/apps/mysql8.0.26/data/mysql.pid
 # 指定錯誤日志路徑
 log_error=/usr/local/apps/mysql8.0.26/data/mysql.error
 # 允許最大連接數
 max_connections=10000
 # 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統
 max_connect_errors=10
 # 服務端使用的字符集默認為UTF8MB4
 character-set-server=utf8mb4
 # 創建新表時將使用的默認存儲引擎
 default-storage-engine=INNODB
 # 默認使用“mysql_native_password”插件認證
 default_authentication_plugin=mysql_native_password
 [mysql]
 # 設置mysql客戶端默認字符集
 default-character-set=utf8mb4
 [client]
 # 設置mysql客戶端連接服務端時默認使用的端口
 port=3306
 default-character-set=utf8mb4

7、創建系統組和角色mysql

創建組mysql
groupadd mysql

創建角色mysql並加入mysql組
useradd -g mysql mysql

8、修改MySQL8.0.26文件夾的所有者和權限

設置mysql組的mysql角色為mysql8.0.26文件夾的所有者
chown mysql:mysql -R /usr/local/apps/mysql8.0.26

修改mysql8.0.26文件夾的權限
chmod -R 755 /usr/local/apps/mysql8.0.26

9、檢查是否存在libtinfo.so.5,不存在則創建鏈接

find /usr/lib64 -name "libtinfo.so.5"

如果沒有找到,說明不存在,則需要創建鏈接(注意centos版本,其他的版本有可能libtinfo.so的版本號不是6.1)
cd /usr/lib64												(進入libtinfo.so的目錄)
ll -h |grep libtinfo.so											(查找libtinfo.so)
ln -s libtinfo.so.6.1 libtinfo.so.5									(創建libtinfo.so.5的軟鏈接指向存在的libtinfo.so文件)

10、初始化MySQL(需要記錄生成的隨機密碼)

進入mysql可執行文件目錄bin
cd /usr/local/apps/mysql8.0.26/bin

以系統角色mysql初始化MySQL8.0.26並將輸出信息打印在控制台
./mysqld --console --initialize --user=mysql

注意:執行該初始化操作有可能日志信息不會輸出到控制台,需要到生成的data目錄下的mysql.error查看日志信息
cd /usr/local/apps/mysql8.0.26/data            (生成的data文件夾由配置文件my.cnf指定)
cat mysql.error	                               (生成的mysql.error文件由配置文件my.cnf指定)


供參考的日志信息(大部分已省略,這里主要展示隨機密碼的部分):
2021-07-28T04:11:30.657089Z 0 [System] [MY-013169] [Server] /usr/local/apps/mysql8.0.26/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 61957(開始部分)
......(中間部分 此處省略輸出信息)
......
2021-07-28T04:11:33.969715Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: RwHUa/xz1S22 (此處是生成的隨機密碼,格式為root@localhost: 密碼)
......
......(中間部分 此處省略輸出信息)
2021-07-28T04:12:03.404440Z 0 [System] [MY-010910] [Server] /usr/local/apps/mysql8.0.26/bin/mysqld: Shutdown complete (mysqld 8.0.26)  MySQL Community Server - GPL.(結尾部分)

11、守護模式啟動mysql(以后台方式運行)

/usr/local/apps/mysql8.0.26/bin/mysqld_safe &       (執行該指令后需要回車進入下一步操作)

12、登錄mysql並修改登錄密碼

登錄mysql
mysql -uroot -p'隨機密碼'                      (注意:這里指的是生成的隨機密碼,而不是隨機密碼這四個字)

修改登陸密碼
alter user 'root'@'localhost' identified by 'root';
刷新
flush privileges;

13、設置允許root用戶遠程登錄

use mysql;
update user set host='%' where user='root';
flush privileges;


免責聲明!

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



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