推薦tar.gz壓縮包進行安裝
通過安裝tar.gz壓縮包版本,也就是二進制包,能在同一台機器上安裝多個MySQL。
建議是安裝tar.gz壓縮包版本的,這個安裝全部都是手動配置,包括啟動服務,環境變量等,
因為可以給你一個很清晰的配置思路,
至于安裝了什麼,配置了什麼,
這些都可以一步了然的排查出來。
當然,在Linux下deb還是tar.gz各有各的好處,畢竟這些都可以根據需要進行版本選擇
點我領取阿裡雲2000元代金券 ,(阿裡雲優惠券的作用:購買阿裡雲産品,最後支付結算的時候,阿裡雲優惠券可抵扣一部分費用。
安裝準備
cp -r /root/tools/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql
cd /usr/local/mysql
tar -xvzf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
groupadd mysql
useradd -r -g mysql mysql
安裝libaio1
//Centos 安裝libaio1 mysql安裝依賴 必須先安裝(前提條件)
yum install libaio-devel.x86_64
配置mariadb
//建立mariadb目錄和日志(前提條件)
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
配置環境變量
//編輯環境變量檔案
vim /etc/profile
// 按 i 插入
// 按ESC 輸入:wq儲存文本并退出。如有不懂,自行百度查詢vim指令
export PATH=$PATH:/usr/local/mysql/mysql3306/bin
//重新整理環境變量
source /etc/profile
設定socket路徑并賦權
mkdir /run/mysqld
chmod 777 /run/mysqld
配置Mysql配置檔案My.cnf
vim /etc/my.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 一般配置選項
basedir = /usr/local/mysql/mysql3306
datadir = /usr/local/mysql/mysql3306/data
port = 3306
socket = /var/run/mysqld/mysql3306/mysqld.sock
character-set-server=utf8
[mysql]
no-auto-rehash
default-character-set=utf8
safe-updates
socket = /var/run/mysqld/mysql3306/mysqld.sock
初始化
//這條指令會産生臨時密碼
bin/mysqld --initialize --user=mysql
安全啟動
//生成證書
mysql_ssl_rsa_setup
// 安全模式啟動mysql
mysqld_safe --user=mysql &
root身份臨時密碼登入并修改臨時密碼
//登入mysql之後,更改root密碼
mysql -uroot -p 登入root,第一次需要臨時密碼
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost'
PASSWORD EXPIRE NEVER;
flush privileges;
賦予指定使用者遠端連接配接操作權限
//添加具體的使用者名可以進行遠端資料庫連接配接
GRANT ALL PRIVILEGES ON . TO '遠端連接配接使用者名'@'%' IDENTIFIED BY '遠端連接配接密碼' WITH GRANT OPTION;
//mysql查詢遠端連接配接位址資訊
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
操作步驟彙總:
//安裝前準備工作
[root@fyly bin]# cp -r /root/tools/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql
[root@fyly bin]# cd /usr/local/mysql
[root@fyly mysql]# tar -xvzf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
[root@fyly mysql]# groupadd mysql
[root@fyly mysql]# useradd -r -g mysql mysql
//安裝MySQL
//Centos 安裝libaio1 mysql安裝依賴 必須先安裝(前提條件)
yum install libaio-devel.x86_64
//建立mariadb目錄和日志(前提條件)
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
//配置環境變量(非常重要)(注意不要加入分割線)
// vim /etc/profile
// 配置mysql開發環境。你的目錄不對,可以自行更改下面的bin目錄路徑
// 配置mysql開發環境。你的目錄不對,可以自行更改下面的bin目錄路徑
export PATH=$PATH:/usr/local/mysql/mysql3306/bin
export PATH=$PATH:/usr/local/mysql/mysql3306/bin
// 配置mysql 配置檔案 (注意不要加入分割線)
// vim /etc/my.cnf
// vim /etc/my.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 一般配置選項
basedir = /usr/local/mysql/mysql3306
datadir = /usr/local/mysql/mysql3306/data
port = 3306
socket = /var/run/mysqld/mysql3306/mysqld.sock
character-set-server=utf8
[mysql]
no-auto-rehash
default-character-set=utf8
safe-updates
socket = /var/run/mysqld/mysql3306/mysqld.sock
socket = /var/run/mysqld/mysql3306/mysqld.sock
//執行這一步的時候,確定配置檔案設定好data目錄,設定好socket路徑
//這條指令會産生臨時密碼
bin/mysqld --initialize --user=mysql
//配置檔案中的data檔案目錄,會被初始化資料,如果初始化失敗,請檢視data目錄下面的錯誤日志檔案。
//裡面的日志資訊會詳細告訴你,初始化資料庫的時候,發生的錯誤資訊。一般出錯誤比較多的是socket路徑問題
//臨時密碼
pxHzcv<i+1ws
bin目錄下
//生成證書
mysql_ssl_rsa_setup
// 安全模式啟動mysql
mysqld_safe --user=mysql &
mysql目錄下
bin/mysql_ssl_rsa_setup
bin/mysqld_safe --user=mysql &
MySQL安全模式啟動之後
//登入mysql之後,更改root密碼
mysql -uroot -p 登入root,第一次需要臨時密碼
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost'
PASSWORD EXPIRE NEVER;
flush privileges;
//添加具體的使用者名可以進行遠端資料庫連接配接
GRANT ALL PRIVILEGES ON . TO '遠端連接配接使用者名'@'%' IDENTIFIED BY '遠端連接配接密碼' WITH GRANT OPTION;
//mysql查詢遠端連接配接位址資訊
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
重要截圖界面:
遇到問題
- Linux安裝MySQL時候出現log-error set to '/var/log/mariadb/mariadb.log', however file don't exists.
- Can't connect to local MySQL server through socket '/tmp/mysql.sock'
出現這個錯誤的原因:mysql服務未啟動;mysql socket路徑和權限可能錯誤
mysql服務啟動失敗,請排查data目錄下的錯誤日志檔案資訊;
socket路徑和權限錯誤:請排查my.cnf配置檔案和對應socket目錄正确與否,并賦予socket目錄權限。
- root身份遠端連接配接mysql。完成可以。但是要配置設定端口遠端連接配接權限。允許root身份在任何ip用戶端都能登入。
阿裡雲伺服器: 活動位址
購買可領取:
阿裡雲代金券