最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在同一Linux下安裝兩個版本的MySQL的流程步驟

 更新時間:2024年03月11日 09:57:58   作者:冷呀冷咖啡  
打工人奉旨制作數(shù)據(jù)庫服務(wù)的虛擬機模板,模板中包含各種數(shù)據(jù)庫,其中mysql需要具備5.7及8.0兩個版本,并保證服務(wù)能正常同時使用,所以本文給小編介紹了在同一Linux下安裝兩個版本的MySQL的流程步驟,需要的朋友可以參考下

摘要:

打工人奉旨制作數(shù)據(jù)庫服務(wù)的虛擬機模板,模板中包含各種數(shù)據(jù)庫,其中mysql需要具備5.7及8.0兩個版本,并保證服務(wù)能正常同時使用。此文也當(dāng)成一份筆記,方便后續(xù)自己查閱。

本次安裝基于截止于寫稿時最新的MySQL版本,mysql 5.7.41以及mysql 8.0.33,通過官方提供的編譯文件壓縮包(tar.gz),非rpm安裝文件。

1. 下載

官網(wǎng)MySQL :: Download MySQL Community Server (Archived Versions)下載需要版本的mysql

mysql-5.7.41-el7-x86_64.tar.gz

https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.41-el7-x86_64.tar.gz

mysql-8.0.33-el7-x86_64.tar.gz

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.33-el7-x86_64.tar.gz

2. 安裝

2.1 準備

2.1.1 路徑規(guī)劃

服務(wù)器上通過LVM掛在規(guī)劃 /u01 路徑用于安裝應(yīng)用,/u01路徑用于存儲數(shù)據(jù)

創(chuàng)建文件夾:

[root@localhost ~]# mkdir -p /u01/mysql  #安裝包解壓到此路徑下
[root@localhost ~]# mkdir -p /u02/mysql/mysq57/data
[root@localhost ~]# mkdir -p /u02/mysql/mysq57/logs
[root@localhost ~]# mkdir -p /u02/mysql/mysq80/data
[root@localhost ~]# mkdir -p /u02/mysql/mysq80/logs

2.1.2 解壓

將兩個tar.gz壓縮包上傳到服務(wù)器的/u01/mysql路徑下,解壓后得到與壓縮包名一致的文件夾,將文件夾重命名(主要為了路徑簡短好記)

[root@localhost mysql]# tar -zxvf mysql-5.7.41-el7-x86_64.tar.gz
[root@localhost mysql]# mv mysql-5.7.41-el7-x86_64.tar.gz mysql-5.7.41
[root@localhost mysql]# tar -zxvf mysql-8.0.33-el7-x86_64.tar.gz
[root@localhost mysql]# mv mysql-8.0.33-el7-x86_64.tar.gz mysql-5.0.33

如下:(安裝完后我已將壓縮包刪除,并且安裝過程中會變更文件所有人,故下圖僅有兩個文件夾,且文件夾的所有者都是mysql,基于root操作的此時的所有者應(yīng)該是root)

2.2 配置

2.2.1 刪除/重命名/etc/my.cnf

/etc/my.cnf是mysql默認且優(yōu)先讀取的配置文件,第二順位是安裝路徑下的my.cnf,由于我們需要裝載兩個mysql且互不干擾,所以需要刪掉第一順位的配置文件。

2.2.2 為兩個mysql分別創(chuàng)建配置文件my.cnf

創(chuàng)建 /u01/mysql/mysql-5.7.41/my.cnf 以及 /u01/mysql/mysql-8.0.33/my.cnf,文件內(nèi)容如下:

/u01/mysql/mysql-5.7.41/my.cnf:

[mysqld]
port=3357
user=mysql
basedir=/u01/mysql/mysql-5.7.41
datadir=/u02/mysg/mysgl57/data
socket=/tmp/mysql57.sock
log-error=/u02/mysql/mysql57/logs/mysql.err
pid-file=/u02/mysql/mysql57/mysql.pid
character_set_server=utf8mb4
lower_case_table_names=1
 
[mysqld_safe]
log-error=/u02/mysql/mysql57/logs/mysql.err
pid-file=/u02/mysql/mysql57/mysql.pid
tmpdir=/tmp/mysql57

/u01/mysql/mysql-8.0.33/my.cnf :

[mysqld]
port=3380
user=mysql
basedir=/u01/mysql/mysql-8.0.33
datadir=/u02/mysg/mysgl80/data
socket=/tmp/mysql80.sock
log-error=/u02/mysql/mysql80/logs/mysql.err
pid-file=/u02/mysql/mysql80/mysql.pid
character_set_server=utf8mb4
lower_case_table_names=1
 
[mysqld_safe]
log-error=/u02/mysql/mysql80/logs/mysql.err
pid-file=/u02/mysql/mysql80/mysql.pid
tmpdir=/tmp/mysql80

2.2.3 配置service啟動文件

以mysql5.7.41為例,編輯 /u01/mysql/mysql-5.7.41/support-files/mysql.server 

將文件的第46、47、58、63、207行,將對應(yīng)信息配置為我們安裝的真實路徑,如下:

/u01/mysql/mysql-8.0.33/support-files/mysql.server 如是

將編輯好的/u01/mysql/mysql-5.7.41/support-files/mysql.server、/u01/mysql/mysql-8.0.33/support-files/mysql.server復(fù)制到 /etc/init.d/ 下,并命名為 mysql57 和 mysql80,后面通過service命令啟動服務(wù)會用到

[root@localhost ~]# cp /u01/mysql/mysql-5.7.33/support-files/mysql.server /etc/init.d/mysql57
[root@localhost ~]# cp /u01/mysql/mysql-8.0.33/support-files/mysql.server /etc/init.d/mysql80

2.2.4 創(chuàng)建mysql用戶并更改路徑所有者

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql
[root@localhost ~]# chown -R mysql.mysql /u01/mysql
[root@localhost ~]# chown -R mysql.mysql /u02/mysql

2.3 初始化數(shù)據(jù)庫

進入到安裝路徑下的bin目錄,以mysql 5.7.41為例

[root@localhost ~]# cd /u01/mysql/mysql-5.7.41/bin
[root@localhost bin]# ./mysqld --defaults-file=/u01/mysql/mysql-5.7.41/my.cnf --basedir=/u01/mysql/mysql-5.7.41 --datadir=/u02/mysql/mysql57/data --user=mysql --initialize
[root@localhost bin]# service mysql57 start
Starting MySQL.....SUCCESS!

至此,mysql5.7.41安裝并啟動成功,mysql8.0.33如是,最后通過service msyql80 start 進行啟動

3. 登錄數(shù)據(jù)庫服務(wù)器

在數(shù)據(jù)庫初始化過程中,會隨機生成root密碼,記錄在我們配置的log-error文件中

[root@localhost bin]# cat /u02/mysql/mysql57/logs/mysql.err | grep password
2023-07-19T08:23:56.987382Z 1 [Note] A temporary password is generated for root@localhost: #Bdm6F?J!2

信息中顯示的【#Bdm6F?J!2】就是初次登錄需要用到的密碼,登錄mysql5.7.41數(shù)據(jù)庫并修改root的密碼,打開遠程訪問限制(依然在安裝目錄的bin目錄下)

[root@localhost ~]# cd /u01/mysql/mysql-5.7.41/bin
[root@localhost bin]# ./mysql -uroot -p -S /tmp/mysql57.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.41
 
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> set password = password('root.123');  #修改root密碼
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> update user set host = '%' where user='root';  #開啟root的遠程訪問權(quán)限
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
 
mysql> exit
Bye
[root@localhost bin]# service mysql57 restart  #重啟服務(wù)

mysql 8.0.33操作類似,但需要注意的是8.0版本在首次登錄時修改密碼的語法與5.7的不一樣,下面是mysql 8.0.33首次登錄及修改密碼的過程:

[root@localhost ~]# cd /u01/mysql/mysql-8.0.33/bin
[root@localhost bin]# ./mysql -u root -p -S /tmp/mysql80.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.33
 
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> alter user 'root'@'localhost' identified by 'root.123';
Query OK, 0 rows affected (0.08 sec)
 
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> update user set host= '%' where user='root';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
 
mysql> exit
Bye
[root@localhost bin]# service mysql80 restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL...... SUCCESS!

4. 創(chuàng)建MySQL命令行的軟連接

類似第3章中進入到mysql安裝路徑的bin目錄中執(zhí)行 ./mysql xxxx 來進行登錄,我們需要的是在任意目錄下都可以通過mysql命令進行登錄,有兩種解決辦法:

1. 在 /usr/bin 目錄下創(chuàng)建 /u01/mysql/mysql-8.0.33/bin/mysql 的軟連接

[root@localhost ~]# ln -s /u01/mysql/mysql-8.0.33/bin/mysql /usr/bin/mysql

2. 將 mysql8.0.33的bin目錄加入到PATH當(dāng)中

[root@localhost ~]# export PATH=$PATH:/u01/mysql/mysql-8.0.33/bin/

我個人是將5.7和8.0下的mysql分別創(chuàng)建了軟連接,因為我也還沒搞清楚,通過8.0的客戶端指令登錄5.7的服務(wù)能不能兼容,反正指定了socket也能正常登錄,但總覺得還是會有點區(qū)別,反正方法都在上面,大家自行甄別。

另:將bin加入到PATH還有個好處就是其他命令,比如mysqldump啥的也能用,就是需要指定不同的socket

創(chuàng)建完成后即可在任意目錄下通過指定不同的socket,進入不同版本的mysql

[root@localhost ~]# mysql -u root -p -S /tmp/mysql80.sock
## 或者
[root@localhost ~]# mysql -u root -p -S /tmp/mysql57.sock

當(dāng)然,不想每次都輸入socket也是可以偷懶的,哈哈哈哈哈哈哈哈哈哈哈,方法就是通過alias別名的方式默認加上socket,方法如下:

針對所有用戶,可編輯 /etc/bashrc 文件,只針對root用戶,可編輯 /root/.bashrc,針對其他個別用戶,可編輯 /home/[用戶名]/.bashrc

[root@localhost ~]# vim .bashrc
### 添加
alias mysql80='mysql -S /tmp/mysql80.sock'
alias mysql57='mysql -S /tmp/mysql57.sock'
### Esc + wq! 保存退出
[root@localhost ~]# source .bashrc

至此,就可直接通過 mysql80 -u root -p 命令登錄mysql 8.0服務(wù),通過 mysql57 -u root -p 命令登錄mysql 5.7服務(wù)

當(dāng)然還有一些其他的可增加易用的方法,比如將服務(wù)添加到systemctl,或者通過mysqld_multi來管理多個服務(wù),后續(xù)有時間再研究吧。

以上就是在同一Linux下安裝兩個版本的MySQL的流程步驟的詳細內(nèi)容,更多關(guān)于Linux安裝兩個版本MySQL的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mysql慢查詢使用詳解

    mysql慢查詢使用詳解

    慢查詢是我們在mysql中經(jīng)常需要使用到的一個很方便的功能,慢查詢對于跟蹤有問題的查詢很有用,可以分析出當(dāng)前程序里那些Sql語句比較耗費資源。
    2014-12-12
  • MySQL PHP 語法詳解及實例代碼

    MySQL PHP 語法詳解及實例代碼

    這篇文章主要介紹了MySQL PHP 語法詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • mysql查詢鎖表的實現(xiàn)方法

    mysql查詢鎖表的實現(xiàn)方法

    本文主要介紹了mysql查詢鎖表的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • MySQL億級大表安全添加字段的三種方案

    MySQL億級大表安全添加字段的三種方案

    面對?1.35億條數(shù)據(jù)?的?MySQL?表添加字段,傳統(tǒng)?ALTER?TABLE?可能導(dǎo)致長時間鎖表,嚴重影響業(yè)務(wù),本文將提供一套完整的?零停機方案,涵蓋?Online?DDL?優(yōu)化、專業(yè)工具使用?和?Java?應(yīng)用層配合策略,需要的朋友可以參考下
    2025-03-03
  • mysql創(chuàng)建Bitmap_Join_Indexes中的約束與索引

    mysql創(chuàng)建Bitmap_Join_Indexes中的約束與索引

    現(xiàn)象:創(chuàng)建Bitmap Join Indexes時出現(xiàn)ORA-25954報錯: 維的主鍵或唯一約束條件缺失。 53vi.Com 原因:受到約束與索引的影響。
    2008-04-04
  • mysql 數(shù)據(jù)插入優(yōu)化方法

    mysql 數(shù)據(jù)插入優(yōu)化方法

    當(dāng)一個線程對一個表執(zhí)行一個DELAYED語句時,如果不存在這樣的處理程序,一個處理器線程被創(chuàng)建以處理對于該表的所有DELAYED語句。
    2010-12-12
  • Mysql臟頁flush及收縮表空間原理解析

    Mysql臟頁flush及收縮表空間原理解析

    這篇文章主要介紹了Mysql臟頁flush及收縮表空間原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • MySQL中的FIND_IN_SET函數(shù)的使用場景

    MySQL中的FIND_IN_SET函數(shù)的使用場景

    MySQL 中的?FIND_IN_SET()?函數(shù)用于在一個逗號分隔的字符串列表中查找指定的值,并返回其在列表中的位置,下面就來介紹一下FIND_IN_SET函數(shù)的具體使用,感興趣的可以了解一下
    2024-05-05
  • CentOS系統(tǒng)中MySQL安裝完整步驟詳解

    CentOS系統(tǒng)中MySQL安裝完整步驟詳解

    在?CentOS?系統(tǒng)上安裝?MySQL,需要依次進行環(huán)境檢查、軟件源配置、安裝?MySQL、啟動服務(wù)等操作,我將按照規(guī)范流程,為你詳細分享完整且具體的安裝步驟,感興趣的朋友一起看看吧
    2025-04-04
  • 淺談Mysql哪些字段適合建立索引

    淺談Mysql哪些字段適合建立索引

    這篇文章主要介紹了淺談Mysql哪些字段適合建立索引,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評論

长宁区| 南溪县| 永嘉县| 旺苍县| 绿春县| 鹤山市| 旌德县| 万山特区| 德安县| 庆元县| 孝义市| 阿拉善左旗| 深州市| 读书| 思茅市| 安远县| 米脂县| 德安县| 塘沽区| 莲花县| 东港市| 桐柏县| 德庆县| 绥德县| 新津县| 咸阳市| 正宁县| 临泉县| 阳泉市| 上饶县| 永新县| 金寨县| 昌平区| 双柏县| 博罗县| 闵行区| 广灵县| 屏山县| 东阳市| 文水县| 墨玉县|