ubuntu下使用tar壓縮包安裝mysql


一、引言

  因為前段時間安裝使用apt-get安裝mysql實在是因為各種依賴問題,把我逼瘋了,最后也沒安裝下來,所以只好使用壓縮包解壓安裝,這也是效率最高的方法了,不會因為各種依賴問題煩惱。

  非常感謝原博主的文章,也是借鑒了很多,如果安裝過程中遇到了問題,也可以去博主頁面看看,評論區也有很多答案

  路徑:https://blog.csdn.net/qq_37598011/article/details/93489404

二、壓縮包下載

  地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

  這里我們選擇當前的文件,不用選擇其他的,因為可能是deb文件壓縮的。

  

   下載完成后我們就放在home文件夾下面,然后使用下面的命令進行解壓,順便移動一下位置

tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar    # 用於解壓
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql # 解壓完成后進行移動

  

三、配置環境

  創建mysql用戶組和用戶並修改權限

groupadd mysql
useradd -r -g mysql mysql

  創建數據目錄並賦予權限

mkdir -p  /data/mysql              #創建目錄
chown mysql:mysql -R /data/mysql   #賦予權限

  配置my.cnf

vim /etc/my.cnf

  內容如下

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

  初始化數據庫,進入mysql的bin目錄

cd /usr/local/mysql/bin/

  然后我們執行初始化命令

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

  這里我報錯了:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

  原因也很好查找,因為缺少依賴libaio,使用以下命令進行安裝即可,安裝完就可以進行初始化了,記住初始化一定要記住密碼,因為后面有些問題可能會讓你重啟服務器/虛擬機

apt-get -y install libaio* libaio-dev*

  查看密碼:cat /data/mysql/mysql.err

   啟動mysql,並更改root密碼,先將mysql.server放置到/etc/init.d/mysql中

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

  然后啟動mysql

service mysql start

ps -ef|grep mysql

  但是在運行service mysql start的時候卻報了一個錯誤:Failed to start mysql.service: Unit mysql.service not found.

  這里我是直接重啟服務器就好了,這也就是為什么前面要保存密碼的原因,但是如果還不行的話,我這里也收集了很多怎么安裝的資料,重啟可以解決的話就跳過吧

  報錯原因呢是需要安裝:mariadb-server

  於是我們繼續安裝這個依賴,報錯了

The following packages have unmet dependencies:
 mariadb-server : Depends: mariadb-server-5.5 (>= 5.5.64-1ubuntu0.14.04.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

  然后收集了解決方案:https://blog.csdn.net/cocos2dGirl/article/details/99332772  

  這里我是換配置進行解決的,然而,在運行這條命令時出錯了:

  sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8

Executing: /tmp/apt-key-gpghome.BhkdFzE3W6/gpg.1.sh --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.BhkdFzE3W6/S.dirmngr' failed: IPC connect call failed
gpg: keyserver receive failed: No dirmngr

  繼續解決:https://my.oschina.net/xlyslr/blog/2996085

  繼續報錯,這個問題還是比較友好的,安裝就完事了

Command 'curl' not found, but can be installed with:

apt install curl

  但是當我繼續安裝時,它還是給我報錯,數據庫沒有簽字,這個我沒找到解決方案

E: The repository 'http://mirrors.dotsrc.org/mariadb/repo/10.1/debian stretch InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

  沒辦法,我只能另辟蹊徑,去找離線的包,解壓進去看看

  下載MariaDB安裝包:https://downloads.mariadb.org/

  

  

   其實解決到這話,就是另外的安裝了,因為mariadb和mysql是兩個可以替代的工具,我后面也嘗試安裝了,但是沒有成功,就不想繼續寫下去了,csdn也有很多教程

繼續正文

   當我們啟動成功之后就開始登陸了,運行下面代碼並輸入我們之前的隨機密碼

./mysql -u root -p   # 記住是在/usr/local/mysql/bin/目錄下執行

  在執行下面三行代碼進行登錄

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES; 
quit

  這時候你如果使用遠程連接……你會發現你無法連接,繼續執行下面命令

use mysql                                            #訪問mysql庫
update user set host = '%' where user = 'root';      #使root能再任何host訪問
FLUSH PRIVILEGES; 
quit

  如果不希望每次都到bin目錄下使用mysql命令則執行以下命令

ln -s /usr/local/mysql/bin/mysql  /usr/bin

  為了防止版本不同而導致安裝失敗……這里我把MySQL的包放在百度雲上。

  鏈接: https://pan.baidu.com/s/1oZLaBAELK9tuB1FCfQfzUg 提取碼: mvji 復制這段內容后打開百度網盤手機App,操作更方便哦

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM