本文目錄一覽:
- 1、ubuntu 怎麼源碼安裝mysql
- 2、如何源碼安裝mysql數據庫
- 3、Linux 下二進制源碼包安裝mysql 詳細過程
- 4、linux下安裝mysql,求助大俠們
- 5、如何源碼安裝mysql
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數據庫
這個可以這樣
比如解開源碼包, 得到一個文件夾ABC
cd ABC
mkdir build-mysql
cd build-mysql
cmake ..
make
make install
就是這個思路
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
配置成功—
linux下安裝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基本安裝完畢。希望本文能對初學者有所幫助。
如何源碼安裝mysql
方法/步驟
1
[root@localhost soft]# groupadd mysql 添加mysql標準組
[root@localhost soft]# useradd -g mysql mysql 添加mysql用戶並加到mysql組中
2
安裝mysql
[root@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz
[root@localhost mysql-5.5.46]# 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
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝路徑
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #數據文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路徑
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷鍵功能(我沒用過)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #連接數據庫socket路徑
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允許從本地導入數據
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安裝支持數據庫分區
# -DEXTRA_CHARSETS=all \ #安裝所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默認字符
# -DDEFAULT_COLLATION=utf8_general_ci \ #校驗字符
3
修改目錄所有者和所有組
[root@end mysql]# chown -R mysql:mysql .
4
初始化數據庫
[root@end mysql]# scripts/mysql_install_db –user=mysql –datadir=/usr/local/mysql/data/
5
複製mysql服務啟動配置文件(注意:在CentOS 6.4版操作系統的最小安裝完成後,在/etc目錄下會存在一個my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啟動。)
[root@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
註冊為服務
[root@end mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
讓chkconfig管理mysql服務
[root@end mysql]# chkconfig –add mysqld[root@end mysql]# chkconfig mysqld on
設置環境變量
在文件/etc/profile末尾添加
PATH=/usr/local/mysql/bin:$PATH
立即生效
[root@end mysql]# source /etc/profile
啟動mysql服務
[root@end mysql]# service mysqld startStarting MySQL…
檢查mysql服務是否啟動
[root@end mysql]# netstat -tulnp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24351/mysqld
修改mysql用戶root密碼
[root@end mysql]# mysql -uroot 登錄到mysql,首次登陸無密碼
設置mysql密碼
mysql SET PASSWORD = PASSWORD(‘endmoon’);
Query OK, 0 rows affected (0.00 sec)
用設置的密碼登錄
[root@end mysql]# mysql -u root -pEnter password: endmoon
若要設置root用戶可以遠程訪問,執行
mysql GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.20’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;Query OK, 0 rows affected (0.00 sec)
配置防火牆
防火牆的3306端口默認沒有開啟,若要遠程訪問,需要開啟這個端口
打開/etc/sysconfig/iptables,在-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT後面添加
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
[root@end mysql]# service iptables restart
使更改的防火牆配置生效 iptables:將鏈設置為政策 ACCEPT:filter [確定]
iptables:清除防火牆規則: [確定]
iptables:正在卸載模塊: [確定]
iptables:應用防火牆規則:
mysql數據庫的安裝到這裡就結束了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/206835.html