案例詳細說明linux下多個mysql5.7.19(tar.gz)安裝圖文詳細教程
發表時間:2023-07-24 來源:明輝站整理相關軟件相關文章人氣:
[摘要]初級第一次在Linux下安裝MySQL-5.7.19版本教程請看上一篇,如果已經會安裝了,那么請看這篇linux下安裝多個mysql-5.7.19,本文主要為大家詳細介紹了linux下多個mysql...
初級第一次在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).
2017-07-24T03:13:49.979892Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-07-24T03:13:50.262941Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-07-24T03:13:50.330756Z 0 [Warning] 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-00163e30bbf6.
2017-07-24T03:13:50.340474Z 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] A temporary password is generated for root@localhost: jZpgHhigx5>i(特別重要一會初始化密碼)
2-5建立密鑰
shell> bin/mysql_ssl_rsa_setup --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf

2-6重新授權分配
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

如果這里不小心丟失了密碼了或者密碼過期了那么可以通過這個方式重置密碼:

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';

保存內容之后啟動
復制代碼 代碼如下:
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;

保存內容之后啟動
復制代碼 代碼如下:
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 &

精彩專題分享:mysql不同版本安裝教程 mysql5.7各版本安裝教程 mysql5.6各版本安裝教程
相關推薦:
MySQL5.7.19在Linux下安裝出現的問題解決圖文詳解
Mysql5.7.19在Linux下卸載的方法介紹
linux下實現兩臺服務器實時同步方法介紹
以上就是實例詳解linux下多個mysql5.7.19(tar.gz)安裝圖文教程的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。