基於Ubuntu18.04使用離線源碼包安裝Mysql


源碼包下載:

https://dev.mysql.com/downloads/mysql/

選擇SourceCode翻到下面的tar.gz包下載即可

 

放一張網圖,Mysql源碼安裝的最佳路徑:

 

 

 

先把源碼包放在/usr/local下,解壓出來再改個名

tar -zxvf mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql

新建mysql用戶組、mysql用戶

sudo groupadd mysql
sudo useradd mysql -g mysql

 

授權。以下文件夾沒有就創建一個

sudo chown -R mysql:mysql /usr/local/mysql
sudo chown -R mysql:mysql /usr/local/mysql/data
sudo chown -R mysql:mysql /var/lib/mysql/
sudo chown -R mysql:mysql /var/run/mysqld

 

 

配置數據庫相關的路徑信息,初始化數據庫。

初始化時會打印一堆東西。有的人初始化時會打印出默認密碼,但是這次我卻沒看到……不太清楚是什么原因

另外初始化必須用sudo去執行,否則會報權限不夠或者奇怪的錯誤

注:這一步使用mysql_install_db安裝,需要用到libaio1, libaio是Linux下的一個異步非阻塞方式讀寫文件的接口,缺少是無法繼續安裝的

libaio下載地址

https://debian.pkgs.org/11/debian-main-amd64/libaio1_0.3.112-9_amd64.deb.html

安裝libaio

sudo dpkg -i libaio1_0.3.112-9_amd64.deb

查看一下安裝是否完成

whereis libaio.so.1

libaio.so: /usr/lib/x86_64-linux-gnu/libaio.so.1

 

 

然后就可以繼續初始化數據庫了

sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

 

 

 

 

 

然后去配置my.cnf。默認是沒有的,需要從源碼包里復制一份默認的配置文件到/etc下

cd /usr/local/mysql/ && cp support-files/my-default.cnf /etc/my.cnf

默認的my.cnf下文件一堆注釋,最后接了兩句 !開頭的語句,不太清楚是做什么用的,我嘗試過幾個版本的cnf文件,最后用了以下文件即可。

注意這里的關閉dns解析,內網環境下可以用這個。具體分析請左拐:原因

[mysqld]
character-set-server = utf8mb4
#關閉dns解析(注意:這會造成只能使用ip遠程連接MySQL)
#skip-name-resolve
skip-grant-tables

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

 

OK,然后就可以啟動了,先把Mysql加入服務中

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

 

然后啟動Mysql:

sudo service mysql start

 

或者

sudo /usr/local/mysql/support-files/mysql.server start

 

設置密碼。這里可能會出現一些警告,這是因為直接明文設置了密碼,不用擔心實際上已經是設置好了的

/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

 

直接進入mysql,輸入密碼即可進入

mysql -uroot -p

 

問題s:

初始化數據庫時需要使用到libaio1這個包,但是原生的Ubuntu並不會有這個包,如果需要離線安裝還需要rpm工具,但rpm也是需要安裝的……因此此次安裝並不算真實離線

 


免責聲明!

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



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