在安裝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群: