天天看點

MySQL手動安裝Linux教程

安裝環境

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 了

繼續閱讀