linux 安裝 mysql8.0 兩臺

安裝第一臺,一般用到一個機器安裝第二臺的時候,一般機器上已經有一臺mysql了,所以,如果你沒有可以參考下面鏈接安裝,鏈接沒有指定mysql配置文件地址,因爲一般大家都是這樣子裝的,所以,爲了能同樣流程在正式機器安裝成功,所以我沒有指定配置文件,保證測試機和正式一樣的環境

linux安裝 mysql8.0

------------------------------------------------------------------現在安裝第二個mysql----------------------------------------------------------------------

一定要先先看一下當前系統版本再下載對應的包,我開始沒看,然後就一堆麻煩:

cat /proc/version
Linux version 3.10.0-862.14.4.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed Sep 26 15:12:11 UTC 2018

64位就下載對應64位

1.先下載 

可以去官網直接下載,

mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz下載鏈接

我是直接從官網下載的,因爲我安裝的服務器之前已經安裝了一個mariadb了,所以我現在使用另外一個端口3308

將下載的文件移到/usr/local 目錄

# 切換到當前目錄

cd /usr/local

tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz

開始用的 tar -zxvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz,查資料說這個壓縮包沒有用gzip格式壓縮,所以不用加z參數

ls,查看文件夾 

然後重命名一下解壓後的文件:

mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql3308

 

新建data目錄,用於存放數據

cd mysql3308/

#新建mysql用戶、mysql用戶組,如果之前已經建立過,就不用建立了

groupadd mysql

#給mysql添加用戶 爲 mysql

useradd mysql -g mysql

#將/usr/local/mysql的所有者及所屬組改爲mysql

chown -R mysql:mysql /usr/local/mysql3308/

chmod -R 755 /usr/local/mysql3308/

配置參數

在mysql3308下新增文件夾data,var,etc備用,etc是用來放配置文件的

ls 查看一下當前文件目錄

將沒有的文件夾添加一下

mkdir data;

mkdir var

mkdir etc

 

 創建數據庫配置文件,一般爲my.cnf 。其實在根目錄  /etc/my.cnf 有這個文件,所以只需要複製就行了,如果根目錄下沒有的話,就需要使用touch命令創建新的空文件

ls /etc

cp /etc/my.cnf etc/

ls etc/

編輯剛剛複製的 my.cnf

vi etc/my.cnf 

[mysqld]
basedir = /usr/local/mysql3308
datadir = /usr/local/mysql3308/data
socket = /usr/local/mysql3308/tmp/mysql.sock
port = 3308

[client]
socket = /usr/local/mysql3308/tmp/mysql.sock
default-character-set=utf8

[mysqld_safe]
log-error=/usr/local/mysql3308/mysql-log/error.log
pid-file=/usr/local/mysql3308/mysql.pid

#如果/usr/local/mysql3308/目錄下沒有tmp文件,手動創建,並且配置權限:

mkdir tmp
chmod 777 ./tmp

mkdir mysql-log

chmod 777 ./mysql-log

cd mysql-log

touch error.log

安裝依賴包--如果已經安裝過就不要執行了,雖然執行也沒啥問題,會再次檢查一遍

yum -y install make gcc-c++ cmake bison-devel ncurses ncurses-devel libaio-devel

指定剛剛編寫的配置文件初始化:a/NRxfzh;87p

要在mysql3308 文件夾下面執行:

cd /usr/local/mysql3308

./bin/mysqld --defaults-file=/usr/local/mysql3308/etc/my.cnf --initialize --user=mysql

#這個命令和mysql5.7之前的命令不一樣了,之前命令是:bin/mysql_install_db --user=mysql,但是之後的版本已經被#mysqld --initialize替代

#mysql5.7版本之上會初始化話一個密碼,在這裏要記住這個初始化密碼 Y_Bhf!hjo0k0,在下面初次登錄會用上。 

2019-09-17T03:01:00.156712Z 0 [System] [MY-013169] [Server] /usr/local/mysql3308/bin/mysqld (mysqld 8.0.17) initializing of server in progress as process 1554
2019-09-17T03:01:05.651404Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Y_Bhf!hjo0k0
2019-09-17T03:01:07.114536Z 0 [System] [MY-013170] [Server] /usr/local/mysql3308/bin/mysqld (mysqld 8.0.17) initializing of server has completed

./bin/mysqld_safe --defaults-file=/usr/local/mysql3308/etc/my.cnf --user=mysql &

#打開當前mysql的啓動文件

一定要確保這裏改正確,否則會報錯:Starting MySQL....The server quit without updating PID file[FAILED]ocal/mysql3308/data/iZ2zeborh4vm8ozw6k3j07Z.pid).

vi support-files/mysql.server 

指定地址和配置文件的位置:

改1:並刪掉下面的conf=/etc/my.cnf

basedir=/usr/local/mysql3308
datadir=/usr/local/mysql3308/data
conf=/usr/local/mysql3308/etc/my.cnf

改2:加 extra_args="-c $conf"

改3 --增加綠色部分

$bindir/mysqld_safe --defaults-file="$conf" --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &

 

 

support-files/mysql.server start

 

查看是否已經啓動起來 

netstat -ntlp

如圖,3308,已經啓動起來了

#將3308 mysql加入服務

cp /usr/local/mysql3308/support-files/mysql.server /etc/init.d/mysql3308

#開機自啓

chkconfig --add mysql3308

顯示服務列表

chkconfig --list

#如果3,4,5都是開的就說明是自啓設置成功

 

重啓數據庫的命令:/etc/init.d/mysql3308 restart

訪問mysql:

第二個數據庫必須使用socket進入,否則默認爲第一個數據庫。因爲配置了全局環境變量

cd bin/

mysql -uroot -p -h 127.0.0.1 --socket=../tmp/mysql.sock --port=3308

輸入初始化的密碼:a/NRxfzh;87p

alter user 'root'@'localhost' identified by '111111';

flush privileges;

遠程連接用戶設置:

mysql -uroot -p -h 127.0.0.1 --socket=../tmp/mysql.sock --port=3308
use mysql;
select 'host' from user where user='root';
update user set host = '%' where user ='root';
flush privileges;
select 'host' from user where user='root';

然後將阿里雲安全組防火牆3308 ,打開,使用navcat遠程連接

如上圖所示,即爲安裝cheng

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章