mysql源碼安裝及基本配置,源代碼安裝mysql

本文目錄一覽:

mysql的安裝配置

MySQL安裝文件分為兩種,一種是msi格式的,一種是zip格式的。如果是msi格式的可以直接點擊安裝,按照它給出的安裝提示進行安裝(相信大家的英文可以看懂英文提示),一般MySQL將會安裝在C:\Program

Files\MySQL\MySQL Server 5.6

該目錄中;zip格式是自己解壓,解壓縮之後其實MySQL就可以使用了,但是要進行配置。

2

解壓之後可以將該文件夾改名,放到合適的位置,個人建議把文件夾改名為MySQL Server 5.6,放到C:\Program Files\MySQL路徑中。當然你也可以放到自己想放的任意位置。

如何在linux下安裝mysql數據庫並配置

如何在linux下安裝mysql數據庫並配置

關於本文

本文將以MySQL 5.0.51為例,以CentOS 5為平台,講述MySQL數據庫的安裝和設置。

2. 關於MySQL

MySQL是最流行的開源SQL數據庫管理系統,它由MySQL AB開發、發布和支持。MySQL AB是一家由MySQL開發人員創建的商業公司,它是一家使用了一種成功的商業模式來結合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的註冊商標。

MySQL是一個快速的、多線程、多用戶和健壯的SQL數據庫服務器。MySQL服務器支持關鍵任務、重負載生產系統的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟件中去。

MySQL的官方發音是“My Ess Que Ell”,而不是“My sequel”。但是你也可以使用“My sequel”和其他的方言。

MySQL網站()提供了關於MySQL和MySQL AB的最新的消息。

MySQL具有如下特點或特性:

MySQL是一個數據庫管理系統;

MySQL是一個關係數據庫管理系統;

MySQL是開源的;

MySQL服務器是一個快的、可靠的和易於使用的數據庫服務器;

MySQL服務器工作在客戶/服務器或嵌入系統中;

有大量的MySQL軟件可以使用。

3. MySQL的安裝

MySQL有兩種安裝方式:源碼包安裝和二進制包安裝。這兩種方式各有特色:二位制包安裝不需編譯,針對不同的平台有經過優化編譯的不同的二進制文件以及包格式,安裝簡單方便;源碼包則必須先配置編譯再安裝,可以根據你所用的主機環境進行優化,選擇最佳的配置值,安裝定製更靈活。下面分別介紹這兩種安裝方式。

3.1 源碼包方式安裝

3.1.1 在linux系統中添加運行Mysql的用戶和組

/usr/sbin/groupadd mysql

/usr/sbin/useradd -d /var/lib/mysql -s /sbin/nologin -g mysql mysql

3.1.2 下載最新穩定發行版(GA)的MySQL軟件

訪問MySQL網站下載最新穩定發行版的MySQL源碼包。本文使用的是5.0.51版本,在linux系統下用下面的命令下載:

wget

3.1.3 解壓縮下載的源碼包

首先建立一個工作目錄( 筆者建議的目錄為/usr/local/src/mysql ) :

mkdir -p /usr/local/src/mysql

將下載的源碼包移至工作目錄:

mv  mysql-5.0.51.tar.gz  /usr/local/src/mysql

進入工作目錄並用tar命令解壓源碼包:

cd  /usr/local/src/mysql

tar zxvf  mysql-5.0.51.tar.gz

命令執行結束後,當前工作目錄下將生成一個新的子目錄mysql-5.0.51,此目錄下即為mysql的源碼文件。

3.1.4 配置Makefile文件

進入MySQL源碼目錄:

cd mysql-5.0.51

執行下面的命令可查看可配置選項:

./configure –help

本文使用的配置命令格式如下:

CC=gcc CFLAGS=”-O3″ CXX=gcc CXXFLAGS=”-O3 -felide-constructors -fno-exceptions -fno-rtti” ./configure –prefix=/usr/local/mysql –enable-thread-safe-client –enable-assembler –with-big-tables –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static  –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=complex

配置選項說明:

CC:C編譯器的名稱(用於運行configure),本文示例為gcc

CFLAGS:C編譯器的標誌(用於運行configure),本文示例為-O3,指定優化級別為3

CXX:C++編譯器的名稱(用於運行configure),本文示例為gcc

CXXFLAGS:C++編譯器的標誌(用於運行configure)

–prefix:指定安裝目錄,本文示例為/usr/local/mysql

–localstatedir:指定默認數據庫文件保存目錄,默認為安裝目錄下的var目錄

–enable-thread-safe-client:編譯線程安全版的MySQL客戶端庫

–enable-assembler:使用一些字符函數的彙編版本

–with-client-ldflags:客戶端鏈接參數,本文示例為指定靜態編譯mysql客戶端

–with-mysqld-ldflags:服務器端鏈接參數,本文示例為指定靜態編譯mysql服務器

–with-big-tables:在32位平台上支持大於4G行的表

–with-charset:指定默認字符集。mysql默認使用latin1(cp1252)字符集,可以使用此選項更改。字符集可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312、gbk、german1、hebrew、hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7或win1251ukr。

–with-collation:指定默認校對規則。mysql默認使用latin1_swedish_ci校對規則,可以使用此選項更改。

–with-extra-charsets:服務器需要支持的字符集,有三種可能的值:空格間隔的一系列字符集名;complex ,包括不能動態裝載的所有字符集;all,將所有字符集包括進二進制。本文示例為complex。

注意:要想更改字符集和校對規則,要同時使用–with-charset和–with-collation選項。 校對規則必須是字符集的合法校對規則。(在mysql中使用SHOW COLLATION語句來確定每個字符集使用哪個校對規則)。

3.1.5 編譯源代碼

執行下面的命令編譯源代碼:

make

3.1.6 安裝

執行下面的命令安裝mysql到目標路徑:

make install

3.1.7 複製默認全局啟動參數配置文件到/etc目錄

源碼方式安裝需要手動複製配置文件,配置模板位於源碼樹的support-files目錄,有my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf四個,選擇跟你的環境相接近的一個複製到/etc目錄,並做適當修改。關於mysql配置文件的詳細信息請參閱筆者的其它文章或是mysql官方文檔。

本文示例選擇my-medium.cnf,執行下面的命令將其複製到/etc目錄:

cp ./support-files/my-medium.cnf  /etc/my.cnf

3.1.8 初始化授權表

執行下面的命令初始化授權表:

./scripts/mysql_install_db –user=mysql

3.1.9 更改mysql數據目錄屬主和權限

默認數據庫文件保存目錄為安裝目錄下的var目錄,執行configure命令時可通過–localstatedir參數指定不同的目錄,本文示例為默認位置。

chown -R mysql.mysql /usr/local/mysql/var

chmod -R 700 /usr/local/mysql/var

3.1.10 設置開機自啟動服務控制腳本

執行下面的命令複製啟動腳本到資源目錄:

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

執行下面的命令增加mysqld服務控制腳本執行權限:

chmod +x /etc/rc.d/init.d/mysqld

執行下面的命令將mysqld服務加入到系統服務:

chkconfig –add mysqld

執行下面的命令檢查mysqld服務是否已經生效:

chkconfig –list mysqld

命令輸出類似下面的結果:

mysqld          0:off 1:off 2:on 3:on 4:on 5:on 6:off

表明mysqld服務已經生效,在2、3、4、5運行級別隨系統啟動而自動啟動,以後可以使用service命令控制mysql的啟動和停止。

啟動mysqld服務:

service mysqld start

停止mysqld服務:

service mysqld stop

執行下面的命令關閉開機自啟動:

chkconfig mysqld off

執行下面的命令可以改變開機自啟動的運行級別為3、5:

chkconfig –level 35 mysqld on

3.1.11 將mysql的bin目錄加入PATH環境變量

編輯/etc/profile文件:

vi /etc/profile

在文件最後添加如下兩行:

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

export PATH

執行下面的命令使所做的更改生效:

. /etc/profile

3.2 二進制包方式安裝

3.2.1 從安裝媒體安裝

Mysql二進制包已經包含在CentOS 5的安裝媒體中,可以直接從安裝媒體中安裝下面三個rpm包:

mysql-5.0.22-2.1.0.1.i386.rpm

mysql-devel-5.0.22-2.1.0.1.i386.rpm

mysql-server-5.0.22-2.1.0.1.i386.rpm

不同的版本文件名有所不同,請注意區分。

執行下面的命令安裝:

rpm -iUvh  mysql-5.0.22-2.1.0.1.i386.rpm

rpm -iUvh  mysql-devel-5.0.22-2.1.0.1.i386.rpm

rpm -iUvh  mysql-server-5.0.22-2.1.0.1.i386.rpm

3.2.2 通過yum安裝

如果你安裝的機器此時可以連接到互聯網,筆者建議使用yum命令來簡化安裝過程:

yum install mysql-server mysql-devel mysql

yum將自動從centos的鏡像站點查找你指明的軟件的最新二進制包,並檢查軟件包依賴關係,安裝軟件的同時自動安裝其依賴的軟件包。

3.2.3 從mysql網站下載最新穩定版本的二進制包安裝

通過CentOS安裝媒體或yum安裝的二進制包版本會落後於mysql開發者網站發布的版本,可以從mysql網站下載安裝最新穩定版本的mysql。

訪問MySQL網站下載最新穩定發行版的相應硬件平台的MySQL。本文使用的是Red Hat Enterprise Linux 5 RPM (x86) 5.0.45版本。需要下載Server、Client、Headers and Libraries、Share Libraries/Shared compatibility libraries幾個rpm包,其它為可選包,按需要選擇。

在linux系統下用下面的命令下載:

wget

wget

wget

wget

wget

執行下面的命令安裝:

rpm -iUvh MySQL-server-community-5.0.45-0.rhel5.i386.rpm

rpm -iUvh MySQL-client-community-5.0.45-0.rhel5.i386.rpm

rpm -iUvh MySQL-devel-community-5.0.45-0.rhel5.i386.rpm

rpm -iUvh MySQL-shared-community-5.0.45-0.rhel5.i386.rpm

rpm -iUvh MySQL-shared-compat-5.0.45-0.rhel5.i386.rpm

4. MySQL的配置

4.1 目錄結構

4.1.1 源碼包方式安裝目錄結構

源碼包方式安裝時通常是在3.1.4節中configure命令的–prefix選項指定的目錄中建立如下的目錄結構,特殊指定的目錄除外:

./bin                               #mysql用戶可執行文件目錄

./include/mysql           #mysql C頭文件目錄

./info                              #mysql 信息文件目錄

./lib/mysql                    #mysql庫文件目錄

./libexec                        #mysql後台daemon程序目錄

./man                             #mysql聯機幫助文檔目錄

./mysql-test                  #mysql測試程序目錄

./share/mysql              #mysql公用文件目錄,包括字符集、配置文件模板、啟動腳本、初始化SQL文件等

./sql-bench                   #mysql壓力測試程序目錄

/etc/my.cnf                    #mysql配置文件

/etc/rc.d/init.d/mysqld #mysqld服務啟動腳本

4.1.2 RPM二進制包方式安裝目錄結構

二進制包方式安裝時使用系統軟件默認目錄結構 :

/usr/bin                     #mysql用戶可執行文件目錄

/usr/libexec              #mysql後台daemon程序目錄

/usr/lib/mysql          #mysql庫文件目錄

/usr/lib64/mysql     #如果為64系統,mysql 64位庫文件目錄

/usr/share/doc        #mysql文檔目錄

/usr/share/info        #mysql信息文件目錄

/usr/share/man      #mysql聯機幫助文檔目錄

/usr/share/mysql    #mysql字符集目錄

/usr/include/mysql #mysql C頭文件目錄

/var/log                     #mysqld服務日誌文件目錄

/var/run/mysqld      #mysqld服務運行狀態目錄

/var/lib/mysql          #mysql數據文件目錄

/etc/my.cnf               #mysql配置文件

/etc/rc.d/init.d/mysqld  #mysqld服務啟動腳本

4.2 配置文件

Linux系統下,mysql的配置參數文件為my.cnf,一般按下面的順序查找此文件:/etc目錄、mysql安裝目錄、mysql數據目錄。配置模板位於源碼樹的support-files目錄,有my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf四個,關於mysql配置文件的詳細信息請參閱筆者的其它文章或是mysql官方文檔。

4.3 啟動mysqld服務

執行下面的命令啟動mysql:

service mysqld start

4.3 設置mysql帳號

mysql安裝後默認生成兩個帳號:一個是root,未設置密碼,可以從本機登錄到mysql;另一個是匿名帳號,無帳號名、無密碼,可以從本機登錄,未提供用戶名的連接都將假定為此帳號。這樣的設置存在着安全隱患,按下面的步驟進行更改。

以root帳號連接到mysql服務器:

mysql -u root

如果提示找不到mysql文件,請嘗試使用絕對路徑,如本文示例為:

/usr/local/mysql/bin/mysql -u root

命令成功執行後將進入到mysql命令提示符下:

mysql

(以下命令均在mysql命令提示符下執行)

改變當前數據庫為mysql:

use mysql

設置從本地主機登錄的root帳號密碼:

set password for root@localhost=password(‘your password’);

或:

update user set password=password(‘your password’) where user=’root’ and host=’localhost’;

刪除匿名帳號:

delete from user where user=” ;

刪除密碼為空的帳號:

delete from user where password=”;

刪除允許非localhost主機登錄的帳號:

delete from user where host’localhost’ ;

執行下面的命令使更改生效:

flush privileges ;

執行下面的命令退出mysql命令行:

quit

或:

/q

5. 結束語

至此,Mysql基本安裝完畢。希望本文能對初學者有所幫助。

Linux下如何使用源碼安裝mysql且開啟分區 mysql:mysql-5.1.61.tar.gz 求詳細步驟~

1.實現linux下純手動MySQL源碼安裝,首先要下載MySQL的源碼,我下載的是MySQL-5.0.87.tar.gz 2.解壓tar –xvf MySQL-5.0.87.tar.gz 3.進入MySQL-5.0.87 4.檢測環境並指定安裝目錄:./configure –prefix=/usr/local/MySQL 檢測出來缺什麼就安裝什麼。我裝的時候居然連gcc和g++都沒有,沒有編譯器的話就要直接下載rpm包(已編譯好的二進制文件)再安裝到系統。 如下是安裝gcc的命令(要先去下載這個包,這個地址有比較多的rpm包下載): sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm 安裝這些rpm包的過程中有些是已安裝的,或者是自己依賴自己導致安裝不了,反正安裝不了就用強制安裝並忽略依賴的命令 sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm –-force –nodeps 可能進過安裝一系列的rmp包後,終於完成了環境檢測。我大概裝了10+個的rmp包才完成。。杯具啊 5.編譯:make 6.安裝:sudo make install 7.實現linux下純手動MySQL源碼安裝中要進行配置。首先可以看到安裝完的目錄如下 在share/MySQL下打命令:ls –l | grep my- 出來的都是MySQL的配置文件,按照需要選擇其中一個拷到/etc下命名為my.cnf /etc/my.cnf是MySQL默認讀的配置文件的路徑 8.修改var的可寫權限。這是MySQL的數據庫數據文件存放的位置,因為用當前用戶來運行MySQL的後台程序可能沒有這個目錄的可寫權限。 chmod 777 ./var –r 9.配置系統環境變量,使得可以直接執行MySQL的程序 系統的環境變量是放在/etc/profile下的,而用戶的環境變量是放在用戶的根目錄下的.bashrc下 (1) /etc/profile的配置: PATH=/usr/local/MySQL/bin:$PATH PATH=/usr/local/MySQL/libexec:$PATH export PATH其中/usr/local/mydql/bin是MySQL主要的可執行程序的目錄,而libexec是放MySQL的後台主程序MySQLd的 (2).bashrc的配置: set PATH=/usr/local/MySQL/bin:$PATH set PATH=/usr/local/MySQL/libexec:$PATH export PATH這裡注意.bashrc裡面是要加個set的。配置完後重登錄就可以生效了 10.在啟動MySQLd之前要先初始化它,執行MySQL_install_db 11.啟動MySQLd,直接打MySQLd就可以了,因為之前配置過系統環境變量了 12.直接MySQL進入MySQL的命令行控制。默認是以當前用戶名登錄的,默認root是沒有密碼的 13.設置root的密碼:MySQLadmin –u root password ‘123456’ 14.以root身份登錄:MySQL –uroot –p 15.設置遠程登錄數據庫。用戶創建後默認是只能在本地登錄的。 update user set Host=’%’ where user=‘kuncai’; 這句是將kuncai這個用戶的允許登錄的地址改成任意,但不包括本地。也就是說這樣kuncai這個用戶就無法在本地登錄了,只能遠程登錄。 只有root用戶才能執行這句,所以要先以root用戶登錄到本地數據庫才行。 flush privileges; 要再執行這句刷新緩存才能生效。以上的相關內容就是對linux下純手動MySQL源碼安裝的介紹,望你能有所收穫。 感謝你們能看到這些,如果大家有興趣開個自己的-淘-寶-網-店,小成本的進行-創-業-嘗試,可以加我Q1300-855-633,進行諮詢聯繫

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 //測試

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/248666.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:28
下一篇 2024-12-12 13:28

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • g3log源代碼學習

    g3log是一個高性能C++日誌庫,其代碼十分精簡和可讀性強,本文將從3個方面詳細介紹g3log源代碼學習。 一、g3log源代碼整體架構 g3log的整體架構十分清晰,其中有3個…

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python網站源碼解析

    本文將從多個方面對Python網站源碼進行詳細解析,包括搭建網站、數據處理、安全性等內容。 一、搭建網站 Python是一種高級編程語言,適用於多種領域。它也可以用於搭建網站。最常…

    編程 2025-04-28
  • 數字孿生源代碼的介紹

    數字孿生源代碼是一種用於模擬現實世界的技術。它將現實世界的實體或場景進行數字化,使得我們可以通過計算機程序對其進行模擬,以便進行分析和預測。數字孿生源代碼包含了許多組件和算法,下面…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • 源碼是什麼

    源碼是一段計算機程序的原始代碼,它是程序員所編寫的可讀性高、理解性強的文本。在計算機中,源碼是指編寫的程序代碼,這些代碼按照一定規則排列,被計算機識別並執行。 一、源碼的組成 源碼…

    編程 2025-04-27

發表回復

登錄後才能評論