安裝環境
Kali GNU/Linux Rolling 64 位
mysql-5.7.20-linux-glibc2.12-x86_64
安裝步驟
下載下傳安裝包
建立Mysql 系統使用者
安裝Mysql
初始話Mysql
啟動Mysql
使用Mysql
配置環境變量
基礎知識了解
注意:安裝包有 源碼包 和 二進制 包兩種形式。
mysql-5.7.20.tar.gz 是源碼包
mysql-5.7.20-linux-glibc2.12-x86_64 是二進制包
如何區分源碼包和二進制包呢?
一般情況下,源碼包的名稱很簡練,隻有是一個隻有版本号的tar格式的壓縮檔案,而二進制包由于安裝環境要求較為嚴格,會在名稱中包含版本号、适應平台、适應類型等資訊。
源碼包和二進制包的安裝有什麼不同?
源碼包安裝時要先進行編譯,需要花費較多的時間;
二進制包是已經編譯好的檔案,可以直接進行安裝。
本問主要介紹二進制包的安裝方法。
詳細步驟介紹
1.下載下傳安裝包
下載下傳地點:https://dev.mysql.com/downloads/mysql/
可以在裡面輸入版本及使用平台,就會出現對應的下載下傳連結
我的系統是kali rolling 64位,是以選擇的是 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
2.建立Mysql 系統使用者
root@kali:~# groupadd mysql
root@kali:~# useradd -r -g mysql -s /bin/false mysql
3. 安裝MySQL
将之前下載下傳的mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 安裝包解壓到/usr/local目錄裡,并将目錄名稱改為mysql ,此時路徑為 /usr/loca/mysql/。 進入mysql 目錄,然後建立mysql-files目錄,并設定權限。
解壓:
root@kali:~/下載下傳# tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local
1
重命名:
root@kali:/usr/local# mv /usr/local/mysql-5.7.20-linux-glibc2.5-x86_64/ /usr/local/mysql/
進入MySQL目錄:
root@kali:/usr/local# cd /usr/local/mysql/
建立mysql-files目錄:
root@kali:/usr/local/mysql# mkdir mysql-files
賦予750權限:
root@kali:/usr/local/mysql# chmod 750 mysql-files
root@kali:/usr/local/mysql# ls -l -d mysql-files
drwxr-s--- 2 root mysql 4096 11月 13 13:22 mysql-files
将目前目錄的擁有者設定為mysql 使用者和mysql 組:
root@kali:/usr/local/mysql# chown -R mysql .
root@kali:/usr/local/mysql# chgrp -R mysql .
root@kali:/usr/local/mysql# ls -l
總用量 56
drwxr-sr-x 2 mysql mysql 4096 11月 13 13:19 bin
-rw-r--r-- 1 mysql mysql 17987 11月 13 13:19 COPYING
drwxr-sr-x 2 mysql mysql 4096 11月 13 13:19 docs
drwxr-sr-x 3 mysql mysql 4096 11月 13 13:19 include
drwxr-sr-x 5 mysql mysql 4096 11月 13 13:20 lib
drwxr-sr-x 4 mysql mysql 4096 11月 13 13:20 man
drwxr-s--- 2 mysql mysql 4096 11月 13 13:22 mysql-files
-rw-r--r-- 1 mysql mysql 2478 11月 13 13:20 README
drwxr-sr-x 28 mysql mysql 4096 11月 13 13:20 share
drwxr-sr-x 2 mysql mysql 4096 11月 13 13:20 support-files
4. 初始化MySQL
到MySQL的安裝目錄,執行指令,初始化MySQL
執行初始化指令:
root@kali:/usr/local/mysql# bin/mysqld --initialize --user=mysql
2017-11-13T05:30:52.100528Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-11-13T05:30:53.953848Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-11-13T05:30:54.511297Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-11-13T05:30:54.706290Z 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: d1d03f87-c833-11e7-86a5-74dfbf526f83.
2017-11-13T05:30:54.765179Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-11-13T05:30:54.766983Z 1 [Note] A temporary password is generated for root@localhost: jz>QUrrKf41O
注意:A temporary password is generated for root@localhost: jz>QUrrKf41O 這裡是自動生成的初始密碼 jz>QUrrKf41O,要記住,等會要用
配置ssl加密相關:
root@kali:/usr/local/mysql# bin/mysql_ssl_rsa_setup
Generating a 2048 bit RSA private key
..................+++
...........................................................+++
writing new private key to 'ca-key.pem'
-----
........+++
.....................+++
writing new private key to 'server-key.pem'
.......................................................................................................... .............................................................................+++
.+++
writing new private key to 'client-key.pem'
到此,MySQL安裝初始化完成, 再執行一下指令修改權限
root@kali:/usr/local/mysql# chown -R root .
root@kali:/usr/local/mysql# chown -R mysql data/ mysql-files/
總用量 60
drwxr-sr-x 2 root mysql 4096 11月 13 13:19 bin
-rw-r--r-- 1 root mysql 17987 11月 13 13:19 COPYING
drwxr-s--- 5 mysql mysql 4096 11月 13 13:34 data
drwxr-sr-x 2 root mysql 4096 11月 13 13:19 docs
drwxr-sr-x 3 root mysql 4096 11月 13 13:19 include
drwxr-sr-x 5 root mysql 4096 11月 13 13:20 lib
drwxr-sr-x 4 root mysql 4096 11月 13 13:20 man
-rw-r--r-- 1 root mysql 2478 11月 13 13:20 README
drwxr-sr-x 28 root mysql 4096 11月 13 13:20 share
drwxr-sr-x 2 root mysql 4096 11月 13 13:20 support-files
*注意事項:
mysql初始化工作依賴libaio包,如果沒有安裝就會出現這個錯誤*
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory”。
檢查是否已安裝:
yum search libaio
或
apt-cache search libaio
如果沒有,則安裝:
yum install libaio
apt-get install libaio1
yum适用于centos/readhat等系統,apt-get适用于ubuntu、debian系統,請按自己需要選擇。
5. 啟動MySQL
root@kali:/usr/local/mysql# cp support-files/mysql.server /etc/init.d/
啟動MySQL服務:
root@kali:/usr/local/mysql# systemctl start mysql.server
停止MySQL服務:
root@kali:/usr/local/mysql# systemctl stop mysql.server
6. 使用MySQL
root@kali:/usr/local/mysql# bin/mysql -u root -p
Enter password:
2
注意:這裡要求輸入password ,就是之前初始化時自動生産的密碼jz>QUrrKf41O
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
出現錯誤,這是由于MySQL 的服務沒有開啟。我們重新開啟:
我們再次啟動MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.20
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
成功了。
7. 修改密碼
初始化MySQL時生成的随機密碼,隻能用于初次登入。如果你要使用SQL語句作其他操作,就要修改密碼後才能進行了。否則會報錯
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”。
我們通過SET指令修改密碼。
mysql> SET PASSWORD=PASSWORD('newpassword');
Query OK, 0 rows affected, 1 warning (0.00 sec)
8. 修改環境變量
到這裡,我們已經成功安裝好了MySQL, 但是使用時會出現:
root@kali:~# mysql
bash: mysql: 未找到指令
這是因為我們沒有修改環境變量,用vim 修改 ~/.bashrc檔案
root@kali:~# vim .bashrc
并添加下面一句話
export PATH="/usr/local/mysql/bin:$PATH"
然後回到指令行執行下面這條指令:
root@kali:~# source .bashrc
然後該使用者無論在哪裡,都可以直接使用mysql -u root -p 來打開mysql 了