[user@localhost ]$ ls mysql-5.1.51.tar.gz
mysql-5.1.51.tar.gz
[user@localhost ]$ su
密碼:
[root@localhost ]# cp mysql-5.1.51.tar.gz /usr/local/src/
[root@localhost ]# cd /usr/local/src/
[root@localhost src]# groupadd -r mysql
[root@localhost src]# useradd -g mysql -r mysql
[root@localhost src]# gunzip < mysql-5.1.51.tar.gz | tar -xvf -
[root@localhost src]# cd mysql-5.1.51/
[root@localhost mysql-5.1.51]# ./configure –prefix=/usr/local/mysql/
[root@localhost mysql-5.1.51]# make
[root@localhost mysql-5.1.51]# make install
[root@localhost mysql-5.1.51]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# /usr/local/mysql/bin/mysql_install_db --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/local/mysql/bin/mysqlbug script!
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql /usr/local/mysql/var/
[root@localhost mysql]# cp /usr/local/mysql/share/mysql/my-huge.cnf /etc/my.cnf
[root@localhost mysql]# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql.server
[root@localhost mysql]# /usr/local/mysql/bin/mysql -V
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.1.51, for pc-linux-gnu (i686) using EditLine wrapper
[root@localhost mysql]# /etc/init.d/mysql.server status
MySQL is not running [失敗]
[root@localhost mysql]# /etc/init.d/mysql.server start
Starting MySQL. [確定]
[root@localhost 案頭]# /etc/init.d/mysql.server status
MySQL running (3464) [確定]
[root@localhost mysql]# /usr/local/mysql/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.51-log Source distribution
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
Bye
功能說明:設定或顯示環境變數
文法:export [-fnp][變數名稱]=[變數設定值]
補充說明:在shell中執行程式時,shell會提供一組環境變數。 export可新增,修改或刪除環境變數,供後續執行的程式使用。
export的效力僅及於該此登陸操作。
參數:
-f 代表[變數名稱]中為函數名稱。
-n 刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p 列出所有的shell賦予程式的環境變數。
一個變數建立時,它不會自動地為在它之後建立的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個
shell指令碼調用並執行時,它不會自動得到原為指令碼(調用者)裡定義的變數的訪問權,除非這些變數已經被顯式地設定為可用。
export命令可以用於傳遞一個或多個變數的值到任何後繼指令碼
在Linux 裡設定環境變數的方法 ( export PATH )
如果使用源碼包安裝的軟體,在安裝完成後一般情況下要設定該軟體命令執行的路徑,那就是 PATH 變數。如何來設定 PAHT變數呢?我們又三種方法實現
1.直接使用 export 命令 (我們以 mysql 服務舉例說明)
[root@ www.linuxidc.com ~]# export PATH=$PATH:/usr/local/mysql/bin
查看是否已經設定好,可以使用命令 export 命令來查看
[root@ www.linuxidc.com ~]# export
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME=" www.linuxidc.com"
declare -x INPUTRC="/etc/inputrc"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
declare -x PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin"
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_AUTH_SOCK="/tmp/ssh-AbUtqs3354/agent.3354"
declare -x SSH_CLIENT="192.168.1.102 2640 22"
declare -x SSH_CONNECTION="192.168.1.102 2640 192.168.1.110 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="vt100"
declare -x USER="root"
需要注意: 直接使用 export 設定的變數都是臨時變數,也就是說退出當前的 shell ,為該變數定義的值便不會生效了。如何能讓我們定義的變數永久生效呢?那就看我們的第二種定義的方式
2. 修改 /etc/profile
[root@ www.linuxidc.com ~]# vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin # 在設定檔中加入此行配置
需要注意的是:修改完這個檔案必須要使用 以下命令在不用重啟系統的情況下使修改的內容生效
[root@ www.linuxidc.com ~]# source /etc/profile
或者是:
[root@ www.linuxidc.com ~]# . /etc/profile
[root@ www.linuxidc.com ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
# 配置已經生效
3. 修改 .bashrc 檔案是在目前使用者 shell 下生效
# vi /root/.bashrc
在裡面加入:
export PATH=$PATH:/usr/local/mysql/bin
修改這個檔案之後同樣也需要使用 source 或者是 . 使設定檔生效。
再來使用 echo $PATH看下變數是否生效
[root@ www.linuxidc.com ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
###############################################
“/bin”、“/sbin”、“ /usr/bin”、“/usr/sbin”、“/usr/local/bin”等路徑已經在系統內容變數中了,如果可執行檔在這幾個標準位置,在終端命令列輸入該軟體可執行檔的檔案名稱和參數(如果需要參數),斷行符號即可。
如果不在標準位置,檔案名稱前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,一個“一勞永逸”的辦法是把這個路徑加入環境變數。命令 “PATH=$PATH:路徑”可以把這個路徑加入環境變數,但是退出這個命令列就失效了。要想永久生效,需要把這行添加到環境變數檔案裡。有兩個檔案可選:“/etc/profile”和使用者主目錄下的“.bash_profile”,“/etc/profile”對系統裡所有使用者都有效,使用者主目錄下的“.bash_profile”只對這個使用者有效。
“PATH=$PATH:路徑1:路徑2:...:路徑n”,意思是可執行檔的路徑包括原先設定的路徑,也包括從“路徑1”到“路徑n”的所有路徑。當使用者輸入一個一串字元並按斷行符號後,shell會依次在這些路徑裡找對應的可執行檔並交給系統核心執行。那個“$PATH”表示原先設定的路徑仍然有效,注意不要漏掉。某些軟體可能還有“PATH”以外類型的環境變數需要添加,但方法與此相同,並且也需要注意“$”。
注意,與DOS/Window不同,UNIX類系統內容變數中路徑名用冒號分隔,不是分號。另外,軟體越裝越多,環境變數越添越多,為了避免造成混亂,建議所有語句都添加在檔案結尾,按軟體的安裝順序添加。
格式如下():
# 軟體名-版本號碼
PATH=$PATH:路徑1:路徑 2:...:路徑n
其他環境變數=$其他環境變數:...
在“profile”和“.bash_profile”中,“#”是注釋符號,寫在 這裡除了視覺分隔外沒有任何效果。
設定完畢,登出並重新登入,設定就生效了。如果不登出,直接在shell裡執行這些語句,也能生效,但是作用範圍只限於執行了這些語句的shell。
相關的環境變數生效後,就不必老跑到軟體的可執行檔目錄裡去操作了。