天天看點

教你如何在阿裡雲伺服器上安裝Mysql資料庫(mysql5.7.23+centos)推薦tar.gz壓縮包進行安裝安裝準備安裝libaio1配置mariadb配置環境變量設定socket路徑并賦權配置Mysql配置檔案My.cnf初始化安全啟動root身份臨時密碼登入并修改臨時密碼賦予指定使用者遠端連接配接操作權限操作步驟彙總:MySQL安全模式啟動之後重要截圖界面:遇到問題

推薦tar.gz壓縮包進行安裝

通過安裝tar.gz壓縮包版本,也就是二進制包,能在同一台機器上安裝多個MySQL。

建議是安裝tar.gz壓縮包版本的,這個安裝全部都是手動配置,包括啟動服務,環境變量等,
因為可以給你一個很清晰的配置思路,
至于安裝了什麼,配置了什麼,
這些都可以一步了然的排查出來。
當然,在Linux下deb還是tar.gz各有各的好處,畢竟這些都可以根據需要進行版本選擇           

安裝準備

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目錄路徑
------------------------------------------------------------------------------
export PATH=$PATH:/usr/local/mysql/mysql3306/bin
------------------------------------------------------------------------------
// 配置mysql 配置檔案 (注意不要加入分割線)
//  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
------------------------------------------------------------------------------



//執行這一步的時候,確定配置檔案設定好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;           

重要截圖界面:

遇到問題

出現這個錯誤的原因:mysql服務未啟動;mysql socket路徑和權限可能錯誤

mysql服務啟動失敗,請排查data目錄下的錯誤日志檔案資訊;
socket路徑和權限錯誤:請排查my.cnf配置檔案和對應socket目錄正确與否,并賦予socket目錄權限。           
  • root身份遠端連接配接mysql。完成可以。但是要配置設定端口遠端連接配接權限。允許root身份在任何ip用戶端都能登入。

原文位址:

https://www.jianshu.com/p/5ca5eb868d2b