三種方式部署MySQL


三種方式部署MySQL

1、yum方式部署MySQL

1.1 清除殘留

[root@mysql01]# yum remove mariadb* -y

image-20220225102744135

1.2 下載yum源

系統自帶yum倉庫安裝的是maraidb,因此安裝MySQL需要另外添加yum倉庫:
[root@mysql01]# wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

image-20220225103009347

1.3 安裝yum源

[root@mysql01]# yum install mysql80-community-release-el7-5.noarch.rpm -y

image-20220225121652342

1.4 查看倉庫

[root@mysql01]# yum repolist enabled | grep mysql

image-20220225103413775

1.5 安裝yum管理工具包

[root@mysql01]# yum install -y yum-utils

image-20220225122255961

1.6 更換為5.7版本的yum源

[root@mysql01]# yum-config-manager --disable mysql80-community
[root@mysql01]# yum-config-manager --enable mysql57-community

image-20220225133532280

image-20220225133603809

1.7 安裝MySQL

[root@mysql01]# yum install -y mysql-community-server

image-20220225140159752

1.8 啟動MySQL

[root@mysql01]# systemctl start mysqld

1.9 獲取默認密碼

[root@mysql01]# cat /var/log/mysqld.log | grep password

image-20220225165129453

1.10 登錄數據庫

[root@mysql01]# mysql -uroot -p'AoQ6hiL-hRRZ'

1.11 修改數據庫默認密碼

alter user user() identified by "Test123!";

1.12 退出系統重新登錄

exit
[root@mysql01]# mysql -uroot -p'Test123!'

image-20220225170025424

2、二進制方式部署MySQL

2.1 清除殘留

[root@mysql02 ~]# yum remove mariadb* -y

image-20220225170502764

2.2 下載安裝包

前往mysql官網下載二進制安裝包,https://dev.mysql.com/downloads/mysql/5.7.html #downloads
# 注意:選擇操作系統時選Linux-Generic,版本選擇linux-generic ( glibc 2.12 ) (x86,64-bit)
不注冊也不登錄,直接點下載。然后把下載好的壓縮包上傳到mysql02的/root目錄下。

image-20220225170804089

image-20220225170822744

image-20220225171601198

2.3 安裝

[root@mysql02 ~]# tar -xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@mysql02 ~]# ln -s /usr/local/mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.37  # 給個軟鏈接,目錄名字太長了

image-20220225171749170

image-20220225172030988

2.4 統一用戶

[root@mysql02 mysql-5.7.37]# groupadd mysql -g 666
[root@mysql02 mysql-5.7.37]# useradd mysql -g 666 -u 666 -r -M -s /sbin/nologin

image-20220225172239025

2.5 創建配置文件

[root@mysql02 mysql-5.7.37]# vim /etc/my.cnf
[mysqld]
# 安裝目錄
basedir=/usr/local/mysql-5.7.37
# 存放數據的目錄
datadir=/usr/local/mysql-5.7.37/data
# 指定端口號
port=3306
# 指定Socket文件存放路徑
socket=/usr/local/mysql-5.7.37/data/mysql.sock
# 指定默認的字符集編碼
character-set-server=utf8
# MySQL錯誤日志路徑
log-error=/var/log/mysqld.log
# 指定MySQL pid文件路徑
pid-file=/usr/local/mysql-5.7.37/data/mysqld.pid
[mysql]
socket=/usr/local/mysql-5.7.37/data/mysql.sock
[client]
socket=/usr/local/mysql-5.7.37/data/mysql.sock

2.6 創建數據目錄和日志文件

[root@mysql02 run]# mkdir /usr/local/mysql-5.7.37/data
[root@mysql02 ~]# touch /var/log/mysqld.log

image-20220225172815928

2.7 目錄授權

[root@mysql02 ~]# chown mysql.mysql -R /usr/local/mysql-5.7.37
[root@mysql02 ~]# chown mysql.mysql -R /usr/local/mysql-5.7.37-linux-glibc2.12-x86_64/
[root@mysql02 ~]# chown -R mysql.mysql /var/log/mysqld.log

image-20220225181803124

2.8 安裝MySQL依賴軟件

[root@mysql02 ~]# yum install -y ncurses-devel libaio-devel gcc gcc-c++ numactl libaio glibc cmake autoconf

image-20220225183739644

2.9 初始化數據庫

[root@mysql02 mysql-5.7.37]# cd /usr/local/mysql-5.7.37/
[root@mysql02 mysql-5.7.37]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.37 --datadir=/usr/local/mysql-5.7.37/data

image-20220225183912310

2.10 注冊MySQL啟動服務

[root@mysql02 ~]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql-5.7.37/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

2.11 測試連接

[root@mysql02 ~]# systemctl daemon-reload
[root@mysql02 ~]# systemctl start mysqld
[root@mysql02 data]# cat /var/log/mysqld.log | grep password
2022-02-25T10:57:13.801643Z 1 [Note] A temporary password is generated for root@mysql03: fjrP<Tas.1iD
[root@mysql02 data]# /usr/local/mysql-5.7.37/bin/mysql -uroot -p'5AvsHgfN*B>t'

2.12 修改默認密碼

alter user root@mysql03 identified by 'Test123!';
exit

image-20220225184204425

2.13 添加環境變量

# 添加環境變量之后就可以直接用簡單的命令登錄了

[root@mysql02 data]# vim /etc/profile
export MYSQL_HOME=/usr/local/mysql-5.7.37
export PATH=$PATH:$MYSQL_HOME/bin
[root@mysql02 data]# source /etc/profile
[root@mysql02 mysql-5.7.37]# mysql -uroot -pTest123!  # 添加環境變量后可以用該方式登錄

image-20220225184514349

3、源碼的方式部署MySQL

3.1 下載MySQL數據庫源代碼包

數據庫官網下載地址 https://downloads.mysql.com/archives/community/
選擇需要的版本下載。

image-20220225185530463

3.2 上傳並解壓包

[root@mysql03 ~]# tar -xf mysql-5.7.36.tar.gz 

image-20220225185827745

3.3 統一用戶

[root@mysql03 ~]# groupadd mysql -g 666
[root@mysql03 ~]# useradd mysql -g 666 -u 666 -r -M -s /sbin/nologin

3.4 配置文件

[root@mysql03 ~]# vim /etc/my.cnf
[mysqld]
# 安裝目錄
basedir=/usr/local/mysql-5.7.36
# 存放數據的目錄
datadir=/usr/local/mysql-5.7.36/data
# 指定端口號
port=3306
# 指定Socket文件存放路徑
socket=/usr/local/mysql-5.7.36/data/mysql.sock
# 指定默認的字符集編碼
character-set-server=utf8
# MySQL錯誤日志路徑
log-error=/var/log/mysqld.log
# 指定MySQL pid文件路徑
pid-file=/usr/local/mysql-5.7.36/data/mysqld.pid
[mysql]
socket=/usr/local/mysql-5.7.36/data/mysql.sock
[client]
socket=/usr/local/mysql-5.7.36/data/mysql.sock

3.5 安裝依賴軟件

[root@mysql03 ~]# yum install -y ncurses-devel libaio-devel gcc gcc-c++ glibc cmake autoconf openssl openssl-devel

3.6 安裝拓展功能包Boot

[root@mysql03 ~]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz --no-check-certificate
[root@mysql03 ~]#  tar -xf boost_1_59_0.tar.gz -C /usr/local/

image-20220225191322495

image-20220225191333648

3.7 創建數據目錄

[root@mysql03 ~]# mkdir /usr/local/mysql-5.7.36
[root@mysql03 ~]# chown mysql.mysql -R /usr/local/mysql-5.7.36

3.8 設置編譯參數

[root@mysql03 mysql-5.7.36]# pwd
/root/mysql-5.7.36

[root@mysql03 mysql-5.7.36]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.36 \
-DMYSQL_DATADIR=/usr/local/mysql-5.7.36/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.7.36/tmp/mysql.sock \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

# 編譯
[root@mysql03 mysql-5.7.34]# make

# 安裝
[root@mysql03 mysql-5.7.34]# make install

# 創建數據目錄和日志文件
[root@mysql03 ~]# mkdir /usr/local/mysql-5.7.36/data
[root@mysql03 mysql-5.7.36]# touch /var/log/mysqld.log

# 數據目錄授權
[root@mysql03 mysql-5.7.36]# chown mysql.mysql -R /usr/local/mysql-5.7.36
[root@mysql03 mysql-5.7.36]# chown mysql.mysql /var/log/mysqld.log

3.9 初始化數據庫

[root@mysql03 mysql-5.7.36]# cd /usr/local/mysql-5.7.36/
[root@mysql03 mysql-5.7.36]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.36/ --datadir=/usr/local/mysql-5.7.36/data/

3.10 注冊並啟動MySQL服務

[root@mysql03 mysql-5.7.36]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql-5.7.36/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

# 重載配置並啟動服務
[root@mysql03 mysql-5.7.36]# systemctl daemon-reload
[root@mysql03 mysql-5.7.36]# systemctl start mysqld

3.11 連接並修改密碼

[root@mysql03 mysql-5.7.36]# vim /var/log/mysqld.log | grep password  # 獲取默認密碼
[root@mysql03 mysql-5.7.36]# /usr/local/mysql-5.7.36/bin/mysql -uroot -p'8ljB7S<eBioT'
 
 # 修改密碼
alter user user() identified by "Test123!";
exit

3.12 添加環境變量

[root@mysql03 data]# vim /etc/profile
export MYSQL_HOME=/usr/local/mysql-5.7.36
export PATH=$PATH:$MYSQL_HOME/bin
[root@mysql03 data]# source /etc/profile
[root@mysql03 mysql-5.7.36]# mysql -uroot -pTest123!  # 使用新密碼登錄

image-20220225201633015


免責聲明!

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



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