首頁  >  文章  >  資料庫  >  實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程

實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程

小云云
小云云原創
2018-05-28 17:33:565070瀏覽

初級第一次在Linux下安裝MySQL-5.7.19版本教學請看上一篇,如果已經會安裝了,那麼請看這篇linux下安裝多個mysql-5.7.19,本文主要為大家詳細介紹了linux下多個mysql5.7.19tar.gz安裝教程,具有一定的參考價值,有興趣的小夥伴們可以參考一下,希望能幫助大家。

環境:centos 6.5

1-下載


2-跳過登陸

 

3-1安裝多個資料庫需要設定自己的my.cnf,如果只安裝一個,系統沒有安裝過直接這個指令就可以

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
查看下有没有data目录如果没有的话增加个命令(mkdir data)
shell> chmod 750 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

安裝好了就可以直接跳到登陸步驟5

下面說安裝多個mysql情況:

3-2安裝多個資料庫需要安照如下指令:

1-增加設定檔my.cnf (在mysql目錄下指令touch my.cnf):

下面設定檔可以直接使用貼上複製進去

然後建立log檔/xcxyz/log/mysql/error.log

[mysqld]
basedir= /usr/local/mysql-5.7.19-3307
datadir = /usr/local/mysql-5.7.19-3307/data
port = 3307
character-set-server=utf8
server_id = 11
#该socket最好指定,不指定的话默认的话 是使用的默认的socket文件 而且登陆数据库的时候会有我下面的问题
socket = /tmp/mysql3307.sock 
log-error = /xcxyz/log/mysql/error.log
pid-file = /usr/local/mysql-5.7.19-3307/data/mysql-5.7.19-3307.pid

2-執行如下指令

2-1增加使用者群組我的使用者和群組都使用的是mysqlosf這個隨意

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

2-2建立軟連線:

shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files

查看下有沒有data目錄如果沒有的話增加個指令(mkdir data)

2-3授權目前目錄:

shell> chmod 750 mysql-files
shell> chown -R mysqlosf .
shell> chgrp -R mysqlosf .

2-4編譯

bin/mysqld --defaults-file=/usr/local/full-path-to-mysql- VERSION-OS/my.cnf --initialize --user=mysqlosf 

#查看日誌輸出:vi /xcxyz/log/mysql/error.log
#2017-07-24T03:13: 47.933684Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).#no2017-07-2017-07-249:403:2009 20203:00205:009; log files created, LSN=45790
2017-07-24T03:13:50.262941Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-07-24T03:13356 No. existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 1d702294-701e-11e7-98a1-00163e300. Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-07-24T03:13:50.344419Z 1 [Note] jZpgHhigx5>i(特別重要一會初始化密碼)

2-5建立金鑰

shell> bin/mysql_ssl_rsa_setup --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf

##2-6重新授權分配實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程

shell> chown -R root .
shell> chown -R mysql data mysql-files

2-7啟動後台mysql

bin/mysqld_safe --defaults-file=/usr/local/full-path-to-mysql-VERSION-OS/my.cnf --user=mysqlosf &

Next command is optional

shell> cp support-files/mysql.server /etc/init.d/mysql.server
2-8查看mysql是否啟動ps - ef | grep mysql

4登陸mysql修改密碼使用剛才的臨時密碼


 

我這裡又出問題了哈哈,始終登陸不上去

Access denied for user 'root'@'localhost' (using password:YES)解決方法最下面

如果登陸上去了可以直接使用剛才的臨時密碼登陸並且設置密碼

5-登入MySQL之後,要求立即修改密碼,否則不能進行任何動作。執行下面的命令修改
'root'@'localhost'

的密碼:

SET PASSWORD = PASSWORD('root');
 ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; 
flush privileges;
6-為了可以遠端登錄,增加一個'root'@'%'帳號:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

7-本地測試連接

按照上面的辦法,繼續解壓縮安裝mysql-5.7.19-linux-glibc2.5-x86_64.tar.gz,並且配置為3308,3309端口,就可以安裝多個mysql了。

解決方案安裝好了登陸不上去:

如果像我上面一樣的話

原因是如下紅色框內的英文我的是第二個mysql需要指定socket和port,英文意思就是說如果你沒有指定socket的話那麼會選擇預設的因為我們安裝多個mysql 所以這個必須指定

mysql --socket=/tmp/mysql3307.sock --port=3307 -uroot -p


如果這裡不小心丟失了密碼了或密碼過期了那麼可以透過這個方式重設密碼:


實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程#5-重設密碼:

5-1 關閉行程

kill `cat /usr/local/mysql-5.7.19-3307/data/mysql-5.7.19-3307.pid`

5-2建立檔案mysql-init


#

5-2-1文件内容

第一种内容:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysqlosf';

實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程

保存内容之后启动

复制代码 代码如下:

bin/mysqld_safe --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf  --init-file=/usr/local/mysql-5.7.19-3307/mysql-init    --user=mysqlosf     &

如果上述内容不成功选择第二种内容

UPDATE mysql.user
 SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
 WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程

保存内容之后启动

复制代码 代码如下:

bin/mysqld_safe --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf  --init-file=/usr/local/mysql-5.7.19-3307/mysql-init   --user=mysqlosf     &

實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程

精彩专题分享:mysql不同版本安装教程 mysql5.7各版本安装教程 mysql5.6各版本安装教程

相关推荐:

MySQL5.7.19在Linux下安装出现的问题解决图文详解

Mysql5.7.19在Linux下卸载的方法介绍

linux下实现两台服务器实时同步方法介绍

以上是實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn