本文目錄一覽:
- 1、如何源碼安裝mysql數據庫
- 2、ubuntu 怎麼源碼安裝mysql
- 3、如何源碼安裝mysql
- 4、如何配置全世界最小的 MySQL 服務器
- 5、Linux 下二進制源碼包安裝mysql 詳細過程
如何源碼安裝mysql數據庫
這個可以這樣
比如解開源碼包, 得到一個文件夾ABC
cd ABC
mkdir build-mysql
cd build-mysql
cmake ..
make
make install
就是這個思路
ubuntu 怎麼源碼安裝mysql
1.下載源碼包
2.解壓包
tar -zxvf mysql-5.6.33.tar.gz
3.安裝必要依賴
sudo apt-get install make bison g++ build-essential libncurses5-dev cmake
4.進入安裝包目錄,配置MySQL安裝參數 //源碼安裝最大的好處就是可以自定義參數,制定安裝目錄,方便管理
cmake -DCMAKE_INSTALL_PREFIX=[指定MySQL安裝的目錄]/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=[指定MySQL的數據存放目錄如:]/usr/local/mysql/data -DMYSQL_USER=mysql -DWITH_DEBUG=0
make -j4 #-j數字 表示以多核心運行編譯
make install #安裝
5. 常用命令軟連接,設置環境變量
sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
6.初始化數據庫
sudo /usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –user=mysql
7.啟動MySQL服務器
sudo /usr/local/mysql/bin/mysqld start
#如果啟動不了,考慮編譯安裝時自定義數據存放目錄,所以導致mysqld找不到對應的目錄
解決: vi /usr/local/mysql/bin/mysqld
修改datadir = [指定MySQL的數據存放目錄如:] /usr/local/mysql/data
保存退出,再次啟動 sudo /usr/local/mysql/bin/mysqld start #OK 搞定
8. 啟動成功後創建root用戶的密碼
/usr/local/mysql/bin/mysqladmin -u root password ‘新密碼’
9.啟動MySQL端
/usr/local/mysql/bin/mysql -u root -p
輸入密碼
10.設置環境變量
vi /home/個人目錄/.bashrc 或者 vi /root/.bashrc
#在後面添加這段代碼
export PATH=”$PATH:/home/sy/lnmp/mysql/bin”
#重啟電腦ok
#若不想重啟電腦,僅限當次有效(重啟失效)
#執行命令
export PATH=$PATH:/usr/local/mysql/bin
mysql –version //測試
如何源碼安裝mysql
為了避免端口衝突、程序衝突等現象,建議先將使用rpm方式安裝的mysql、mysql-server軟件包卸載
2
MySQL5.5版本以後需要使用cmake工具編譯安裝,所以在安裝MySQL之前要先安裝cmake工具(安裝方法如下)
3
掛載軟件光盤(掛載前先查詢下是否已經有其他光盤掛載了,如果有就用umount命令卸載後重新掛載帶有MySQL軟件包的光盤)
END
編譯安裝:解包、配置、編譯和安裝
解包(解包就是將光盤裏面的安裝包解壓到本地,一般解壓到/usr/src目錄下)
配置(配置是根據服務器的實際應用需要來制定不同的選項,如指定安裝路徑、啟用字符集等等,類似於windows軟件的自定義安裝,只不過linux中更加靈活)
編譯(編譯就是完成配置後使用”make”命令將源代碼文件進行編譯而生成二進制的程序模塊、動態鏈接庫、可執行文件等,輸入make回車即可)
安裝(編譯完成後,執行”make install”安裝命令,將軟件的執行程序、配置文件、幫助文檔等相關文件複製到linux系統中,進行安裝,輸入make install回車即可)
如何配置全世界最小的 MySQL 服務器
首先我們先解壓Mysql的安裝包,建議解壓到 /usr/local/src 目錄中方便管理
# tar xf mysql-5.6.16.tar.gz
# cd mysql-5.6.16
然後我們執行以下指令對源碼包進行預處理:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
配置中指定了安裝路徑、數據庫路徑、配置文件路徑等參數。等配置結束後可以使用 echo $? 查看返回值確定是否配置成功。我在編譯時便遇到了一個名為 ncurses-devel 的依賴包沒有安裝,具體信息請閱讀錯誤提示。等我用yum源安裝好後發現無法繼續cmake了,只好刪除後重新解壓源碼包才配置成功的。好了 一切沒問題了就開始 make make install 吧!
# make make install
由於源碼包比較大,解壓後我統計了下,竟然291M,天啊這可得慢慢等待了。我花費了一個多小時才編譯完成的,也是夠慢了。
編譯安裝完成後會生成 /usr/local/mysql 這樣一個文件夾,如果選用了直接解壓二進制包,就把它解壓到 /usr/local 中。我們進入這個文件夾中看看
bin 這個目錄存放着mysql的服務器和客戶機程序,我們應該添加到環境變量
data 這個文件夾就是數據庫目錄
include 這裡存放着mysql開發用的函數頭文件,可以被其他源碼包編譯時依賴
lib Mysql運行需要的運行庫
scripts Mysql初始化數據庫的腳本,更改數據庫目錄後也需要進行初始化
man Mysql是使用手冊,需要讓man命令識別這個路徑才能使用
support-files 其中存放着Mysql的配置文件模板和服務控制腳本等文件
Mysql的配置文件為 /etc/my.cnf ,數據庫目錄為 /usr/local/mysql/data
接下來就開始部署這些文件,然後讓Mysql啟動起來吧!首先建立mysql用戶和組,並不創建家目錄,不允許登陸系統
# groupadd mysql
# useradd -M -s /sbin/nologin -g mysql mysql
設置mysql安裝目錄的屬主和屬組
# chown -R mysql:mysql /usr/local/mysql/
給數據庫目錄可讀可寫的權限
# chmod 777 -R /usr/local/mysql/data/
複製配置文件和服務控制腳本到相應位置
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
編輯配置文件 /etc/mysql.cnf,添加:
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
指定安裝目錄和數據庫目錄就可以了,其他參數先不用管。如圖一所示
接下來就可以初始化數據庫了
# cd /usr/local/mysql
# scripts/mysql_install_db –user=mysql
結果如圖二所示就代表成功了,可以用 echo $? 查看返回值
現在就可以啟動Mysql數據庫服務了 它的啟動命令是 mysqld
# service mysqld start
然後出現大寫的 ” SUCCESS “就代表啟動成功了,然後用netstat看看它監聽的端口吧!
# netstat -anpt | grep mysqld
我們發現它默認監聽在 TCP 的” 3306 “端口
我們可以用它自帶的 mysql 命令連接進去看看
用 -u 指定用戶名 -h 指定主機 -p 來輸入密碼
# /usr/local/mysql/bin/mysql -u root -h localhost -p
這個root用戶可不是系統登陸的root用戶,而是mysql服務器中的一個默認用戶。由於我們還沒有給root用戶設置密碼,直接回車就可以進如了,如果出現一個” mysql “就代表成功了。輸入” exit “命令退出。
總使用絕對路徑來執行mysql命令也不是辦法,我們把它的環境變量配置下吧
# echo ‘export PATH=$PATH:/usr/local/mysql/bin’ /etc/profile.d/mysql.sh
# source /etc/profile.d/mysql.sh
好啦,看看是不是能直接執行mysql命令了呢
接下來就分析一下my.cnf這個配置文件的各參數意義
basedir mysql的安裝目錄
datadir 數據庫目錄
port 指定服務端口,默認3306 端口
server_id pid文件路徑
socket 套接字
skip-locking 可避免mysql的外部鎖定,降低系統出錯幾率
skip-name-resolve 禁止mysql對外部連接進行DNS解析,可節約時間
key_buffer_size 設置索引緩存區大小,合理調節這個數值可以獲得更好的索引處理性能,過度調大反而降低性能。參數沒有可以自己添加
sort_buffer_size 設置排序緩存區的大小 (每個連接獨佔)
read_buffer_size 設置查詢操作緩存區的大小 (每個連接獨佔)
join_buffer_size 設置聯合查詢操作緩存區的大小 (每個連接獨佔)
max_connections 設置服務器最大連接進程數
mysql的root用戶沒有密碼是非常不安全的,接下來我們為它配置一個密碼。注意 要給root用戶添加密碼是需要啟動服務的,請確保你的Mysqld服務處於運行狀態
# mysqladmin -u root password “himysql”
如果已經設置了密碼,想去修改 就要在命令上添加 -p 參數,-p 參數是用來提醒輸入密碼的,就和mysql命令一樣
# mysqladmin -u root password “himysql” -p
接下來輸入舊密碼就可以更改新密碼了,再試一試,登陸mysql服務器是不是需要使用密碼了呢?
如果是在本機登陸mysql服務器 -h 選項是可以省略的,如果使用root登陸,連-u 參數都可以省略,如果沒有密碼登錄,連 -p 都是可以省略的,比如你第一次啟動服務,直接mysql就可以連接上去了
這個mysqladmin是Mysql服務器的管理程序,可用於執行檢察配置文件、檢查服務狀態、關閉服務器、創建數據庫以及刪除數據庫等的系統管理操作。其格式如下:
mysqladmin 選項 參數 . . .
create db_name 創建一個名為db_name的新數據庫
debug 將debug信息寫入錯誤日誌
drop db_name 刪除一個名為db_name的數據庫
extended-status 顯示服務器狀態變量和他們的值
flush-hosts 刷新緩存中的所有信息
flush-logs 刷新所有日誌信息
flush-privileges 重新載入授權表
flush-status 清除狀態變量
flush-tables 刷新所有的表
flush-threads 刷新線程的緩存
ping 顯示服務器運行狀態
processlist 正在運行服務器線程的列表
password new_password 更改密碼
shutdown 關閉服務器
start-slave 在從服務器上啟動同步
stop-slave 在從服務器上關閉同步
-u root 指定用戶
-h localhost 指定連接的主機
-p 指定需要輸入密碼
其中一些概念不懂沒關係,先眼熟就行了,在後面的學習中將會慢慢了解
當我們用mysql命令登陸到服務器後,出現的” mysql “我們應該怎麼操作呢?
在 mysql 提示符下可以使用SQL語言或命令對數據庫進行管理,每條SQL語句都以 ” ; ” 結束,且不區分大小寫。用戶可以通過上下鍵調出曾經輸入過的命令。
對數據庫的操作不外乎增刪查改,下面就看看一些很簡單的命令吧!
show databases; 查看當前存在的數據庫
use 數據庫名稱; 使用指定的數據庫
show tables; 查看指定數據庫有哪些表
create database 數據庫名稱; 創建新數據庫
drop 數據庫名稱; 刪除數據庫
編譯安裝Mysql服務器到此也已經差不多了,除了編譯時間長了些,按照步驟一步一步下來還是蠻簡單的。如果想知道Mysql數據庫的更多操作請看下一章:Mysql數據庫的管理與備份恢復。一定要動手做一做哦!Enjoy Your Time !o(^▽^)o
Linux 下二進制源碼包安裝mysql 詳細過程
安裝之前先把二進制源碼準備好,可以從搜狐鏡像下載:我準備的是mysql-5.5.15-linux2.6-i686.tar.gz
,linux
version
2.6.18-164.el5
實際工作中和虛擬機的配置有些地方可能會不相同
====================================================================
注意:mysql
安裝的時候必須指定到
/usr/local
必須命名為mysql
二進制源碼安裝需要在安裝目錄/usr/local下運行
複製代碼代碼如下:
//創建用戶mysql
*
groupadd
-g
3306
mysql
*
useradd
-g
mysql
-u
3306
-M
mysql
*
id
mysql
*
chown
-R
mysql:mysql
/mydata/
//
mysql對目錄要有寫權限
*
ll
-d
/mydata/
*
cp
/mysql-5.5.15-linux2.6-i686
/usr/local
*
cd
/usr/local/mysql
//
開始初始化
mysql
*
chown
-R
mysql:mysql
.
*
ln
-sv
/mysql-5.5.15-linux2.6-i686
mysql
*
scripts/mysql_install_db
–user=mysql
–datadir=/mydata/data
//
span
style=”color:#993300;”scripts腳本初始化/span
初始化
用來生成mysql數據庫
數據庫用來存放表等源數據信息
複製代碼代碼如下:
//安裝完成
下面配置啟動
*
ls
support-files/
//
準備服務啟動腳本
*
cp
support-files/mysql.server
/etc/init.d/mysqld
//
放入init.d
*
chkconfig
–add
mysqld
//
加入服務列表
*
chkconfig
–list
mysqld
//
–list
顯示出來
複製代碼代碼如下:
//此時可以啟動mysql了
但還需要配置mysql
*
ls
/etc/my.cnf
*
ls
support-files/
*
cp
support-files/my-large.cnf
/etc/my.cnf
*
vim
/etc/my.cnf
[mysqld]
//
找到該段
並添加datadir
=
/mydata/data
datadir
=
/mydata/data
*
service
mysqld
start
//
開啟服務
*
netstat
-tnl
//
3306
端口打開
*
echo
$PATH
*
/usr/local/mysql/bin/mysql
*
export
PATH=$PATH:/usr/local/mysql/bin
//
span
style=”color:#cc6600;”注意/span:不加$
就僅僅剩下你添加的路徑
*
vim
/etc/profile
//
在export
之前添加下面的路徑
PATH=$PATH:/usr/local/mysql/bin
//
永久生效的路徑配置方法
*
mysql
//
此時mysql已經可啟動了
複製代碼代碼如下:
//mysql庫文件的路徑配置
*
ls
*
vim
/etc/ld.so.conf
//
修改庫文件位置
*
vim
/etc/ld.so.conf.d/mysql.conf
//
規範的配置
當前目錄下以.CONF結尾都可以配置
*
ldconfig
-v
|
grep
mysql
//
重新加載所有庫文件的路徑
沒有mysql的庫文件
vim
/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//
新建mysql.conf
文件
在文件中添加這些內容
*
ldconfig
-v
|
grep
mysql
//
修改之後在重新加載一次
否則服務器不知道
//mysql庫文件的路徑配置
*
ls
*
vim
/etc/ld.so.conf
//
修改庫文件位置
*
vim
/etc/ld.so.conf.d/mysql.conf
//
規範的配置
當前目錄下以.CONF結尾都可以配置
*
ldconfig
-v
|
grep
mysql
//
重新加載所有庫文件的路徑
沒有mysql的庫文件
vim
/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//
新建mysql.conf
文件
在文件中添加這些內容
*
ldconfig
-v
|
grep
mysql
//
修改之後在重新加載一次
否則服務器不知道
複製代碼代碼如下:
//頭文件的配置
庫文件有哪些函數以及函數在別人編寫程序的時候怎麼調用
怎麼傳遞參數
參數類型是什麼
返回值類型是是什麼
必須找到庫文件所對應的頭文件
庫文件對應的頭文件在/
usr/include
*
ls
/usr/include/
*
ln
-sv
/usr/local/mysql/include
/usr/include/mysql
//
頭文件的輸出
*
vim
/etc/man
*
vim
/etc/man.config
//
添加Man
MANPATH
/usr/local/mysql/man
OK!
mysql
配置成功—
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/248764.html