首次安裝Mysql,通過在線安裝方便快捷。
1,查看是否有安裝過mysql:
#rpm -qa | grep mysql
如果無結果返回,說明沒有安裝Mysql,可以全新安裝。
2,查看在線服務器提供的Mysql相關的安裝包有哪些:
#yum list | grep mysql
3,安裝這幾個就可以:
#yum install mysql mysql-server mysql-devel
或者如果不清楚安裝哪些包,通過
#yum install mysql*
把列出所有的mysql相關的安裝包全部安裝。
4,安裝完成。
提示安裝完成,可以查到已經安裝到的mysql包:
5,完成後,對Mysql進行初始化和配置。
安裝完成,會發現一個mysqld服務出現在/etc/init.d/目錄下,就是我們剛剛安裝的mysql服務。
啓動服務:
#/etc/init.d/mysqld restart //建議使用restart,不用start。
或者
#service mysqld restart
首次安裝Mysql,啓動Mysqld服務,會進行初始化配置(類似於下面這種情況):
進行上面的初始化完成之後 ,再次重啓mysql,就不會有這樣的提示了(只在第一次啓動時初始化)。
我們在使用mysql數據庫時,都得首先啓動mysqld服務,我們可以通過
#chkconfig --list | grep mysqld
命令來查看mysql服務是不是開機自動啓動。通過
#chkconfig mysqld on
命令來使mysqld服務開機自啓動。
(如果沒配置chkconfig mysqld on 命令,則上圖2,3,4,5全部爲off,即開機不會自啓動。)
6,對Mysql進行配置。
mysql數據庫安裝完以後只會有一個root管理員賬號,但是此時的root賬號還並沒有爲其設置密碼,在第一次啓動mysql服務時,會進行數據庫的一些初始化工作,在輸出的一大串信息中,我們看到有這樣一行信息 :
/usr/bin/mysqladmin -u root password 'new-password' // 爲root賬號設置密碼
所以我們可以通過 該命令來給我們的root賬號設置密碼(注意:這個root賬號是mysql的root賬號,非Linux的root賬號)
# mysqladmin -u root password 'root' // 通過該命令給root賬號設置密碼爲 root
此時我們就可以通過
#mysql -u root -p
命令來登錄我們的mysql數據庫了:
7,至此,mysql的安裝和基本配置就算完成了,可以直接使用Mysql了。
mysql數據庫的主要配置文件:
1,/etc/my.cnf 這是mysql的主配置文件
2,/var/lib/mysql mysql數據庫的數據庫文件存放位置
3,/var/log mysql數據庫的日誌輸出存放位置
4,mysql數據庫使用tcp/ip協議 ,如果通過網絡訪問,其開放的端口是3306。可以通過
#netstat -nap | grep 3306
來查看是否開啓了mysql端口。
修改數據文件存儲的目錄:
MYSQL默認的數據文件存儲目錄爲/var/lib/mysql。
假如要把目錄移到/home/data下需要進行下面幾步:
1、home目錄下建立data目錄
#cd /home
#mkdir data
2、把MySQL服務進程停掉:
#mysqladmin -u root -p shutdown
3、把/var/lib/mysql整個目錄移到/home/data
#mv /var/lib/mysql /home/data/
這樣就把MySQL的數據文件移動到了/home/data/mysql下
4、找到my.cnf配置文件,所在路徑/etc/my.cnf
** 如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個到/etc/並改名爲my.cnf)中。命令如下:
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、編輯MySQL的配置文件/etc/my.cnf
爲保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置:
修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的路徑爲:/home/mysql/mysql.sock :
#vi my.cnf
#socket = /var/lib/mysql/mysql.sock //爲了更穩妥將原內容用“#”註釋掉
socket = /home/data/mysql/mysql.sock //加上此行
6、修改MySQL啓動腳本/etc/init.d/mysql
#vi /etc/init.d/mysql
把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。
#datadir=/var/lib/mysql //爲了更穩妥將原內容用“#”註釋掉
datadir=/home/data/mysql //加上此行
如果是CentOS還要改 /usr/bin/mysqld_safe 相關文件位置;
最後 做一個mysql.sock 鏈接:
#ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
7、重新啓動MySQL服務
#/etc/init.d/mysqld restart //在啓動服務時,儘量使用restart ,而不用start,防止出現一些可能的異常情況
或用reboot命令重啓Linux。如果工作正常移動就成功了,否則對照前面的7步再檢查一下。
**********************************
另外,還要注意目錄的屬主和權限:
# chown -R mysql:mysql /home/data/mysql/ ← 改變數據庫的歸屬爲mysql
# chmod 700 /home/data/mysql/test/ ← 改變數據庫目錄屬性爲700
# chmod 660 /home/data/mysql/test/* ← 改變數據庫中數據的屬性爲660
錯誤解決方案:
1.在CentOS上,如果mysql是通過yum安裝的,那麼可能使用上面的方法不能完全湊效。
原因:mysql的配置文件有多處,除了更改/etc/my.cnf文件之外,還需要更改/usr/lib64/mysql/mysql_config
這個文件裏面有一行“ldata='/var/lib/mysql'”和"socket=/var/lib/mysql/mysql.sock",這裏也需要改掉。
2.另外,還有權限問題,查看/var/log/mysqld.log,發現Can't create test file /xxx/mysql/centos5.lower-test
這裏是因爲沒有權限創建或讀取文件。
解決辦法就是使用setenforce 0 這個命令,讓系統關閉權限校驗,然後再運行命令 service mysqld start 發現OK了。
另外一個辦法是restorecon -FRv /home/data/mysql,或者chcon -R -t mysqld_db_t /home/data/mysql
**********************************
修改數據存儲目錄參考出處:
http://www.centoscn.com/image-text/config/2014/0125/2403.html