Java全棧程式設計師之04:Ubuntu下安裝MySQL、註冊服務及Navcat

陸敏技發表於2018-10-10

在安裝MySQL之前,我們先來介紹一下Ubuntu下軟體的安裝方式。首先回顧下,我們安裝JDK,使用的是字尾名為tar.gz的安裝包。安裝idea,使用的是tar.gz;那有沒有別的安裝方式呢?

 

1.安裝方式介紹

Linux系的軟體包格式主要有:rpm、deb、tar.gz;

rpm:主要在紅帽LINUX、SUSE、Fedora下安裝,在Ubuntu中無法識別;

deb:主要應用於Debian系列,包括Ubuntu等發行版上,在Ubuntu中雙擊deb包就可以進入自動安裝程式;

tar.gz:在所有的Linux版本中都能使用,純手工配置,最酸爽的一種,但是也是讓我們最深知安裝過程中做了什麼的方式,所以這也是我最喜歡的一種方式。這也是我們今天安裝MySQL的方式。

有同學可能會講,不對,我還見過一種安裝形式,就是apt和yum安裝!

注意了,apt和yum可不是安裝包的格式,而是安裝的方式,比如apt,是指使用網路線上安裝。我們會在伺服器上準備好deb包,然後通過apt命令就可以下載deb包並進行安裝。apt適用於Ubuntu, yum則適用於redhat和centos下。

關於apt和yum,先tip一下,後面安裝mysql過程中的某個小依賴包,我打算使用apt的方式來安裝,給大家演示下apt,順便下午也會跟大家講一下什麼是安裝源。Tip:

apt-get可以用於安裝deb包:
安裝:apt-get install <package_name> 
解除安裝:apt-get remove <package_name> 
更新:apt-get update <package_name>
yum可以用於安裝rpm包:
安裝:yum install <package_name> 
解除安裝:yum remove <package_name> 
更新:yum update <package_name>

 

2.MySQL下載

去官網download。在MySQL的官方站點,如果我們選擇作業系統為Ubuntu,預設只會出現deb的安裝包。所以作業系統我們要選擇generic,如下:

官方提供了安裝文件:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html,不過這針對有一定linux基礎的同學。如果你是初學者,儘量跟著我來。

 

3.安裝libaio的apt安裝方式

官網提到了安裝MySQL,要使用libaio框架,按照介紹,簡單,線上安裝之:

apt-get install libaio1

然後,呵呵呵,一串錯誤出現了。大概的樣子長這樣:

……
錯誤:1 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 libaio1 amd64 0.3.110-5
  403  Forbidden [IP: 111.11.80.233 80]
E: 無法下載 http://cn.archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.110-5_amd64.deb  403  Forbidden [IP: 111.11.80.233 80]
E: 有幾個軟體包無法下載,要不執行 apt-get update 或者加上 --fix-missing 的選項再試試?
luminji@luminji-virtual-machine:/$ sudo apt-get update
錯誤:1 http://cn.archive.ubuntu.com/ubuntu bionic InRelease
  403  Forbidden [IP: 111.11.80.233 80]
正在讀取軟體包列表... 完成
E: 無法下載 http://cn.archive.ubuntu.com/ubuntu/dists/bionic/InRelease  403  Forbidden [IP: 111.11.80.233 80]
E: 倉庫 “http://cn.archive.ubuntu.com/ubuntu bionic InRelease” 的簽名不再生效。
N: 無法安全地用該源進行更新,所以預設禁用該源。
N: 參見 apt-secure(8) 手冊以瞭解倉庫建立和使用者配置方面的細節。
luminji@luminji-virtual-machine:/$

 

這是為什麼吶?

apt是線上安裝,但是剛才我們看的命令只有一個apt-get install,沒有告訴我們去哪裡下載啊!這個下載地址隱藏在:/etc/apt/sources-list檔案中。而Ubuntu預設的下載源因為各種原因預設是不可能用的哦。那怎麼辦?最好的辦法,當然是換一個能用的apt源。

 

4.更新系統源

在更新系統源之前,為了保險,首先備份/etc/apt/sources-list,接著,修改內容為:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main multiverse restricted universe

這個清華的apt源,可用。我們也可以找到其它的一些源。

然後,更新之:

sudo apt-get update

再然後,讓我們install吧。

 

5.Libaio的離線安裝方式

既然能線上安裝,那就一定也能離線安裝。libaio是有deb安裝包的。我們可以下載回來以deb的方式安裝,如下:

sudo dpkg -i libaio1_0.3.110-2_amd64.deb

結果如下,就代表成功了

 

6.安裝MySQL

解壓:

tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

Move到/usr/local下:

mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local

使用ln建立軟連線:

ln -s /usr/local/ mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql

注意,上面這兩步的路徑不要改,包括建立軟連線也這麼建立,因為mysql的預設配置引數中,這兩個地址都是預設地址。如果安裝到別處,要修改不少地方。

新增使用者組

sudo groupadd mysql

新增使用者

sudo useradd -r -g mysql -s /bin/false mysql

手動建立mysql-files資料夾,然後修改許可權,

sudo chmod 750 mysql-files

sudo chown -R mysql .

sudo chgrp -R mysql .

然後手動初始化data資料夾,如下:

sudo bin/mysqld --initialize --user=mysql

注意,敲完這個命令後,在最後一行會出現mysql的預設登入使用者root的預設密碼,加下圖,這個密碼是我們在第一次登入MySQL的時候要用到的:

到了這一步,基本就是大功告成了~~

 

7.測試MySQL

啟動MySQL,

sudo bin/mysqld_safe --user=mysql &

登入MySQL,我們首先要新開一個客戶端,然後到mysql安裝目錄的bin目錄下,敲入命令:

mysql -uroot -p

輸入上圖中的密碼,登入成功之後,讓我們第一件事情就是修改初始密碼,如下:

mysql> SET PASSWORD = PASSWORD('新密碼');
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
mysql> flush privileges;

然後,順便查一下mysql預設的資料庫吧:

show databases;

注意哦,每一條sql語句後面都帶英文的;號。

以上步驟見圖如下

 

8.看看MySQL佔了哪個埠號

在5.7.20以後的版本之後,都不自帶預設的配置檔案了,那作為強迫症的你怎麼檢視mysql用了哪個埠呢?當然是使用netstat命令了。

咳咳,預設Ubuntu沒有這個命令,我們還需要安裝net-tools工具。

 

9.安裝net-tools

敲命令吧:

sudo apt-get install net-tools

安裝完畢,繼而命令,

netstat -ntlp

看到3306了沒有,bingo

 

10.Mysql的配置檔案

預設的3306埠號當然仍舊是可以更改的。上面我們也說過了,在5.7.20版本之後的安裝包裡預設是沒有配置檔案的,但是我們可以手動新增一個,在mysql根目錄下,建立my.cnf,內容如下:

[mysql]
#客戶端預設字符集
default-character-set=utf8
[mysqld]
#設定埠
port = 3306
#安裝目錄
basedir=/usr/local/mysql
#資料的存放目錄
datadir=/usr/local/mysql/data
#最大連線數
max_connections=200
# 預設字符集
character-set-server=utf8
#預設儲存引擎
default-storage-engine=INNODB

 

11.配置服務自動啟動

然後,為了不要每次重啟系統,我們都要手動啟動mysql,我們還要將mysql丟到系統服務中。

將兩個配置檔案copy到系統資料夾中,如下:

sudo cp /usr/local/mysql/my.cnf /etc/my.cnf

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server

繼而,新增服務自啟動

update-rc.d mysql.server defaults

update-rc.d mysql.server enable

繼而,在全域性配置檔案/etc/profile的最後加上,

export PATH=$PATH:/usr/local/mysql/bin

現在,重啟我們的Ubuntu,直接進入命令列:

mysql -uroot -p

試試看能不能進入哦。

順便,關於服務的三個命令大家牢記一下:

#檢視服務狀態
sudo service mysql.server status
#服務啟動
sudo service mysql.server start
#服務停止
sudo service mysql.server stop

 

12.Navicat安裝

去官網下載正版:https://www.navicat.com/en/download/navicat-for-mysql

下載回來還是tar.gz,navicat121_mysql_en_x64.tar.gz,

解壓到opt下,然後./start_navicat啟動,這個時候會提示我們安裝wine_gecko 和 wine-mono 軟體包。它們分別用於執行依賴於 Internet Explorer 和 .NET 的程式,分兩步,

 

如下1:

 

如下2:

 

然後才能進入Navicat,如下:

至於有人說不行啊,只有半個月的試用期。這個,對於現在的你來說,早就已經是個小問題了:)。

 

華麗分割線(以下是廣告時間)

===========================================================

1:最課程JavaEE+網際網路分散式新技術開班進行中,你想學習不一樣的Java開發技術,來http://www.zuikc.com看看吧;

2:最課程陸敏技在雲棲社群與Java編碼標準制定者阿里孤盡帶來的Java專題:https://yq.aliyun.com/promotion/651

 

更多技術文章和開班資訊請加入,

QQ群:

相關文章