mysqllinux源碼安裝
這個可以這樣
比如解開源碼包, 得到一個文件夾ABC
cd ABC
mkdir build-mysql
cd build-mysql
cmake ..
make
make install
就是這個思路
㈡ linux上怎麼安裝mysql
1. 運行平台:CentOS 6.3 x86_64,基本等同於RHEL 6.3
2. 安裝方法:
安裝MySQL主要有兩種方法:一種是通過源碼自行編譯安裝,這種適合高級用戶定製MySQL的特性,這里不做說明;另一種是通過編譯過的二進制文件進行安裝。二進制文件安裝的方法又分為兩種:一種是不針對特定平台的通用安裝方法,使用的二進制文件是後綴為.tar.gz的壓縮文件;第二種是使用RPM或其他包進行安裝,這種安裝進程會自動完成系統的相關配置,所以比較方便。
3. 下載安裝包:
2. 下載文件(根據操作系統選擇相應的發布版本):
a. 通用安裝方法
mysql-5.5.29-linux2.6-x86_64.tar.gz
b. RPM安裝方法:
MySQL-server-5.5.29-2.el6.x86_64.rpm
MySQL-client-5.5.29-2.el6.x86_64.rpm
4. 通用安裝步驟
a. 檢查是否已安裝,grep的-i選項表示匹配時忽略大小寫
[root@localhost JavaEE]#rpm -qa|grep -i mysql
mysql-libs-5.1.61-4.el6.x86_64
*可見已經安裝了庫文件,應該先卸載,不然會出現覆蓋錯誤。注意卸:載時使用了--nodeps選項,忽略了依賴關系:
[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps
b. 添加mysql組和mysql用戶,用於設置mysql安裝目錄文件所有者和所屬組。
[root@localhost JavaEE]#groupadd mysql
[root@localhost JavaEE]#useradd -r -g mysql mysql
*useradd -r參數表示mysql用戶是系統用戶,不可用於登錄系統。
c. 將二進制文件解壓到指定的安裝目錄,我們這里指定為/usr/local
[root@localhost ~]# cd/usr/local/
[root@localhost local]#tar zxvf /path/to/mysql-5.5.29-linux2.6-x86_64.tar.gz
*加壓後在/usr/local/生成了解壓後的文件夾mysql-5.5.29-linux2.6-x86_64,這名字太長,我們為它建立一個符號鏈接mysql,方便輸入。
[root@localhost local]#ln -s mysql-5.5.29-linux2.6-x86_64 mysql
d. /usr/local/mysql/下的目錄結構
Directory
Contents of Directory
bin
Client programs and the mysqld server
data
Log files, databases
docs
Manual in Info format
man
Unix manual pages
include
Include (header) files
lib
Libraries
scripts
mysql_install_db
share
Miscellaneous support files, including error messages, sample configuration files, SQL for database installation
sql-bench
Benchmarks
e. 進入mysql文件夾,也就是mysql所在的目錄,並更改所屬的組和用戶。
[root@localhost local]#cd mysql
[root@localhost mysql]#chown -R mysql .
[root@localhost mysql]#chgrp -R mysql .
f. 執行mysql_install_db腳本,對mysql中的data目錄進行初始化並創建一些系統表格。注意mysql服務進程mysqld運行時會訪問data目錄,所以必須由啟動mysqld進程的用戶(就是我們之前設置的mysql用戶)執行這個腳本,或者用root執行,但是加上參數--user=mysql。
[root@localhost mysql]scripts/mysql_install_db --user=mysql
*如果mysql的安裝目錄(解壓目錄)不是/usr/local/mysql,那麼還必須指定目錄參數,如
[root@localhost mysql]scripts/mysql_install_db --user=mysql \
--basedir=/opt/mysql/mysql \
--datadir=/opt/mysql/mysql/data
*將mysql/目錄下除了data/目錄的所有文件,改回root用戶所有,mysql用戶只需作為mysql/data/目錄下所有文件的所有者。
[root@localhost mysql]chown -R root .
[root@localhost mysql]chown -R mysql data
g. 復制配置文件
[root@localhost mysql] cp support-files/my-medium.cnf /etc/my.cnf
h. 將mysqld服務加入開機自啟動項。
*首先需要將scripts/mysql.server服務腳本復制到/etc/init.d/,並重命名為mysqld。
[root@localhostmysql] cp support-files/mysql.server /etc/init.d/mysqld
*通過chkconfig命令將mysqld服務加入到自啟動服務項中。
[root@localhost mysql]#chkconfig --add mysqld
*注意服務名稱mysqld就是我們將mysql.server復制到/etc/init.d/時重命名的名稱。
*查看是否添加成功
[root@localhost mysql]#chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
i. 重啟系統,mysqld就會自動啟動了。
*檢查是否啟動
[root@localhost mysql]#netstat -anp|grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2365/mysqld
unix 2 [ ACC ] STREAM LISTENING 14396 2365/mysqld /tmp/mysql.sock
*如果不想重新啟動,那可以直接手動啟動。
[root@localhost mysql]#service mysqld start
Starting MySQL.. SUCCESS!
j. 運行客戶端程序mysql,在mysql/bin目錄中,測試能否連接到mysqld。
[root@localhost mysql]#/usr/local/mysql/bin/mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 2
Server version:5.5.29-log MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registeredtrademark of Oracle Corporation and/or its affiliates. Other names may betrademarks of their respective owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql> quit
Bye
*此時會出現mysql>命令提示符,可以輸入sql語句,輸入quit或exit退出。為了避免每次都輸入mysql的全路徑/usr/local/mysql/bin/mysql,可將其加入環境變數中,在/etc/profile最後加入兩行命令:
MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
這樣就可以在shell中直接輸入mysql命令來啟動客戶端程序了
[root@localhost mysql]#mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 3
Server version:5.5.29-log MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registeredtrademark of Oracle Corporation and/or its
affiliates. Other namesmay be trademarks of their respective
owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql>
5. RPM安裝步驟
a. 檢查是否已安裝,grep的-i選項表示匹配時忽略大小寫
[root@localhost JavaEE]#rpm -qa|grep -i mysql
mysql-libs-5.1.61-4.el6.x86_64
可見已經安裝了庫文件,應該先卸載,不然會出現覆蓋錯誤。注意卸載時使用了--nodeps選項,忽略了依賴關系:
[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps
2. 安裝MySQL的伺服器端軟體,注意切換到root用戶:
[root@localhost JavaEE]#rpm -ivh MySQL-server-5.5.29-2.el6.x86_64.rpm
安裝完成後,安裝進程會在Linux中添加一個mysql組,以及屬於mysql組的用戶mysql。可通過id命令查看:
[root@localhost JavaEE]#id mysql
uid=496(mysql)gid=493(mysql) groups=493(mysql)
MySQL伺服器安裝之後雖然配置了相關文件,但並沒有自動啟動mysqld服務,需自行啟動:
[root@localhost JavaEE]#service mysql start
Starting MySQL.. SUCCESS!
可通過檢查埠是否開啟來查看MySQL是否正常啟動:
[root@localhost JavaEE]#netstat -anp|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 34693/mysqld
c. 安裝MySQL的客戶端軟體:
[root@localhost JavaEE]#rpm -ivh MySQL-client-5.5.29-2.el6.x86_64.rpm
如果安裝成功應該可以運行mysql命令,注意必須是mysqld服務以及開啟:
[root@localhost JavaEE]#mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 1
Server version: 5.5.29MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademarkof Oracle Corporation and/or its affiliates. Other names may be trademarks oftheir respective owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql>
㈢ 怎麼在linux下部署mysql 源碼部署安裝
查找以前是否安裝有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果顯示有如下包則說明已安裝mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
㈣ 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: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包下載http://mirror.oa.com/SLES10-SP1-RPMS-32/): 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,進行咨詢聯系
㈥ linux安裝 mysql如何安裝
你也可以先裝好ftp服務,這樣用起來會比較好點,FTP安裝:
yum install vsftpd
1. 啟動系統自帶的VSFTPD
2.新建一個FTP賬號
a. useradd 用戶名 -d 文件存放路徑 -s /sbin/nologin #/sbin/nologin 表示不能用來作為系統用戶登錄
b.passwd 用戶名 #賦予新賬號一個密碼
cd /etc/vsftpd 然後 vi /chroot_list #新建一個文檔chroot_list 在裡面寫上 用戶名
3.vi /etc/vsftpd/vsftpd.conf
將#chroot_list_enable=YES和#chroot_list_file=/etc/vsftpd/chroot_list 前的#去掉
然後保存退出,重啟VSFTPD
修改FTP路徑
userdel -R zhougz
useradd -h /var/www/html zhougz
passwd zhougz
可以下載不可以上傳(更改文件擁有者)
chown -R 用戶:群組 /home/wwwroot(文件路徑:就是你上傳文件所在的路徑)
4.這個時候登錄FTP,會出現500 OPS的錯誤,有兩個解決辦法。
a.執行setsebool ftpd_disable_trans 1和service vsftpd restart或者直接關閉5.selinux=disabled(默認selinux=enforcing),/etc/selinux/config
b.目錄許可權問題,比如用戶a,目錄/ftphome/a
那麼/ftphome這個目錄屬主和組都有讀和執行許可權,否則也會報500錯誤。這個也就是部分用戶正常,而部分用戶不能登錄的原因。
***配置完成後記得重啟電腦***
添加到防火牆
sudo /sbin/iptables -I INPUT -p tcp --dport 20 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
sudo /etc/rc.d/init.d/iptables save
sudo /etc/rc.d/init.d/iptables restart
開機啟動
方法一:
chkconfig vsftpd on service vsftpd start
方法二:
最簡單的辦法,把service vsftpd start加入/etc/rc.local即可。
從個人使用習慣上來說,chkconfig命令倒是蠻不錯的選擇.此命令也可以定義其它自動啟動服務項次,大家可以試試哦!
進雖ysql解壓的源碼文件目錄
./configure --prefix=/usr/local/mysql #設置mysql的安裝路徑
make && make install #編譯,進行安裝。
配置mysql
groupadd mysql #添加mysql組
useradd -g mysql mysql #添加mysql用戶並加入到mysql組
cd /usr/local/mysql/ #切換到cd /usr/local/mysql/目錄下
chown -R mysql . #改變當前目錄下的所有者為mysql用戶
chgrp -R mysql . #改變當前目錄下的mysql用戶的文件為mysql組
cd /usr/local/src/mysql-5.0.22/support-files #到源碼mysql目錄下的support-files下
cp my-medium.cnf /etc/my.cnf #拷貝文件到/etc/覆蓋my.cnf 文件
cd /usr/local/mysql/bin #改變目錄到/usr/local/mysql/bin
./mysql_install_db --user=mysql #以mysql身份初始化資料庫
cd /usr/local/mysql #改變目錄到/usr/local/mysql
chown -R mysql:mysql var #改變var目錄所屬mysql用戶到mysql組
chmod 755 var #改變var目錄許可權
cd /usr/local/mysql/bin #改變目錄到/usr/local/mysql/bin
./mysqld_safe --user=mysql & #以mysql用戶啟動庫生成套接字
netstat -ant | grep 3306 #查看mysql是否啟動,mysql用的是3306埠
./mysqladmin -u root password 'admin' #給mysql的root用戶設置密碼
cd /usr/local/src/mysql-5.0.22/support-files/ #改變目錄到cd /usr/local/src/mysql-5.0.22/support-files/
cp mysql.server /etc/init.d/mysqld #拷貝文件用於開機自動啟動
chmod 755 /etc/init.d/mysqld #給mysqld許可權
chkconfig --add mysqld #添加mysqld服務到系統
chkconfig mysqld on #打開myslqd服務
service mysqld restart #啟動mysql服務
測試mysql:
cd /usr/local/mysql/bin #改變目錄到cd /usr/local/mysql/bin
./mysql -u root -p #登陸mysql
show databases; #查看資料庫表
開機啟動2
cp /mysql-5.0.22/support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld //添加到啟動
chmod +x /etc/rc.d/init.d/mysqld //添加運行許可權
/usr/local/mysql/bin/mysqld_safe --user=mysql &
寫入/etc/rc.d/rc.local
開機啟動3
chkconfig mysqld on
chkconfig --list mysqld
2-5如果為on就OK
㈦ linux下源碼安裝mysql遇到困難了。菜鳥在線等答,跪謝!!!!!
現在的Linux發行版一般都預先安裝了MySQL,會生成配置文件:/etc/my.cnf。如果你安裝另一版本的MySQL,就會引起沖突。你那個異常可以這樣處理:
修改/etc/my.cnf(如果不在/etc/下,那從別處找),找到有「skip-federated」字樣的那一行,屏蔽之:
#skip-federated
當然,更好的解決方法是徹底移除舊的MySQL。
㈧ 在linux安裝MySQL時採用源碼編譯安裝,但是如何讓MySQL的編譯時間縮短呢
可以試試在使用make && make install 時添加-j參數,不限制內核進行編譯安裝。或者-j 後加內核數 。例如 make -j 4 && make install -j 4
優點:速度快會相對提高很多
缺點:消耗大量CPU,內存資源。
我做過一個測試,如果不限定內核 (16核 80GB內存 )的伺服器編譯安裝mysql 5.0.7 安裝時長大致在10分鍾左右,但是測試時伺服器CPU跑滿100% ,內存消耗至少32GB。直接使用 make && make install 安裝耗時45分鍾,內存4GB ,CPU 10%左右。
㈨ linux 源碼安裝mysql時,使用cmake生成makefile時報錯。
行與行之間需要連接符"\",最後一行不需要,要不然你就都寫在同一行:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=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=/var/lib/mysql \
-DMYSQL_USER=mysql
㈩ 如何用源碼包安裝的方式在linux中安裝mysql5.6.25
查找以前是否安裝有mysql,使用下面命令: rpm -qa|grep -i mysql 如果顯示有如下包則說明已安裝mysql mysql-4.1.12-3.RHEL4.1 mysqlclient10-3.23.58-4.RHEL4.1