【環境及文件版本】
red hat linux v6.2
mysql linux 版 x86-x64 v5.6
【准備需要的文件】
首先去官網下載mysql的linux版本,可以針對安裝的操作系統選擇合適的版本。
然後將文件解壓到一個目錄,例如 /usr/local/中,並重命名為mysql。確保最終所有的文件在/usr/local/mysql/這個目錄中,使用命令行時,也需要定位到此目錄,後續的操作都是在這個目錄中完成的。
【初始化數據庫文件】
然後拷貝support-files/my-default.cnf 到 當前目錄,並命名為my.cnf,並修改其中內容如下:
[mysqld]
skip-name-resolve #跳過表掃描,可以加快mysql的執行樹的
lower_case_table_names=1 #表名全部使用小寫
datadir=/usr/local/mysql/data/ #設定數據文件存放位置
socket=/usr/local/mysql/mysql.sock
user=mysql
character-set-server=utf8 #設定server的字符集,防止中文亂碼
# Disabling symbolic-links isrecommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log #注意,這裡要手動創建一下log目錄
pid-file=/usr/local/mysql/mysqld.pid
然後執行數據庫初始化腳本文件:
./scripts/mysql_install_db --defaults-file=my.cnf #後面的參數表示使用上一步定義的my.cnf來初始化數據庫。
等待若干秒後,可以查看 data 目錄查增加了 mysql 目錄以及其他文件。此時mysql自身已經初始化完成了,不過現在mysql還不是服務的形式,不能使用service xxx start 的方式啟動。但可以使用./bin/mysqld_safe & 的方式啟動
注:手動啟動mysql 的命令:./bin/mysqld_safe & #至於為什麼使用mysqld_safe,自己可以查下原因。
手動停止mysql的命令:./bin/mysqladmin –h127.0.0.1 shutdown #注意,盡量不要使用localhost,因為有時由於系統的原因,使用localhost會提示無法連接mysql。
手動停止mysql的第二種命令:pkill mysql #殺死所有名稱中包含mysql的進程,干淨利落 :-D
其他linux下mysql實用命令我後邊會附帶些。
【注冊mysql為系統服務】
如果希望mysql以服務的方式啟動,或者設置mysql開機啟動,還需要如下步驟。
將support-files 中的mysql.server 拷貝到 /etc/rc.d/init.d/ 下,並重名為mysql (如果你不嫌mysql.server這個名字比較長的話,可以不重命名:-D ,文件名就是服務的名字)。
這是就可以使用service mysql start 來啟動mysql了(如果在上一步中你不小心手動啟動了mysql,這一步會提示mysql已經啟動)。
當然,相應的其他命令還有 service mysql stop/restart/status 等
【設置mysql 開機啟動】
此時mysql已經注冊為服務了,如需開機啟動,再需要兩步操作。
首先將mysql加入開機啟動列表:
chkconfig --add mysql
然後設置它開機啟動:
chkconfig mysql on
這樣mysql就會開機啟動了。
如果需要關閉開機啟動,可以:
chkconfig mysql off
查看mysql是否開機啟動:
chkconfig --list mysql
查看mysql偵聽是否在偵聽端口(默認為3306):
netstat -lt | grep mysql
【mysql用戶名、遠程登錄設置】
上面時如何安裝及啟動mysql,mysql在初次安裝後,還需要設置用戶名、密碼、及遠程登錄等。
mysql默認情況下,只有root用戶,且密碼為空,不允許本機以為其他機器登錄。如需設置給root設置一個密碼,且允許其遠程登錄,需要這樣操作。
首先在mysql安裝的機器登錄mysql:
mysql -uroot -h127.0.0.1
然後執行如下命令:
grant all privilegeson *.* to root@’%’ identified by ‘12345678’;
如果不需要設置密碼,後面的identified by ‘12345678’ 可以省略。
這樣,就可以在使用navicat等工具遠程連接mysql,進一步執行其他操作了。