一闽坡、mysql簡介
說到數(shù)據(jù)庫,我們大多想到的是關系型數(shù)據(jù)庫外厂,比如mysql代承、oracle、sqlserver等等掖棉,這些數(shù)據(jù)庫軟件在windows上安裝都非常的方便膀估,在Linux上如果要安裝數(shù)據(jù)庫,咱不得不首先推薦的是mysql數(shù)據(jù)庫了帕棉,而且Mysql數(shù)據(jù)庫的第一個版本就是發(fā)行在Linux系統(tǒng)上的捐寥。
MySQL是一個關系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā)瞒窒,目前屬于Oracle公司乡洼。MySQL是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中拔稳,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi)锹雏,這樣就增加了速度并提高了靈活性。MySQL的SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL軟件采用了雙授權政策(本詞條“授權政策”)采记,它分為社區(qū)版和商業(yè)版政勃,由于其體積小奸远、速度快、總體擁有成本低懒叛,尤其是開放源碼這一特點芍瑞,一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越拆檬,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。
在Linux上安裝mysql數(shù)據(jù)庫答捕,我們可以去其官網(wǎng)上下載mysql數(shù)據(jù)庫的rpm包屑那,http://dev.mysql.com/downloads/mysql/5.6.html#downloads持际,大家可以根據(jù)自己的操作系統(tǒng)去下載對應的數(shù)據(jù)庫文件,目前最新的版本是5.6.10了蜘欲。
在這里我是通過yum來進行mysql數(shù)據(jù)庫的安裝的姥份,通過這種方式進行安裝,可以將跟mysql相關的一些服務澈歉、jar包都給我們安裝好,所以省去了很多不必要的麻煩Sū住!拴竹!
二剧罩、卸載掉原有mysql
因為mysql數(shù)據(jù)庫在Linux上實在是太流行了座泳,所以目前下載的主流Linux系統(tǒng)版本基本上都集成了mysql數(shù)據(jù)庫在里面挑势,我們可以通過如下命令來查看我們的操作系統(tǒng)上是否已經(jīng)安裝了mysql數(shù)據(jù)庫
[root@xiaoluo ~]# rpm -qa | grep mysql // 這個命令就會查看該操作系統(tǒng)上是否已經(jīng)安裝了mysql數(shù)據(jù)庫
有的話,我們就通過 rpm -e 命令 或者 rpm -e --nodeps 命令來卸載掉
[root@xiaoluo ~]# rpm -e mysql // 普通刪除模式
[root@xiaoluo ~]# rpm -e --nodeps mysql // 強力刪除模式潮饱,如果使用上面命令刪除時香拉,提示有依賴的其它文件,則用該命令可以對其進行強力刪除
在刪除完以后我們可以通過 rpm -qa | grep mysql 命令來查看mysql是否已經(jīng)卸載成功Y炻怠盛险!
三、通過yum來進行mysql的安裝
我是通過yum的方式來進行mysql的數(shù)據(jù)庫安裝换帜,首先我們可以輸入 yum list | grep mysql 命令來查看yum上提供的mysql數(shù)據(jù)庫可下載的版本:
[root@xiaoluo ~]# yum list | grep mysql
就可以得到y(tǒng)um服務器上mysql數(shù)據(jù)庫的可下載版本信息:
然后我們可以通過輸入 yum install -y mysql-server mysql mysql-devel 命令將mysql mysql-server mysql-devel都安裝好(注意:安裝mysql時我們并不是安裝了mysql客戶端就相當于安裝好了mysql數(shù)據(jù)庫了鹤啡,我們還需要安裝mysql-server服務端才行)
[root@xiaoluo ~]# yum install -y mysql-server mysql mysql-deve
在等待了一番時間后揉忘,yum會幫我們選擇好安裝mysql數(shù)據(jù)庫所需要的軟件以及其它附屬的一些軟件
我們發(fā)現(xiàn),通過yum方式安裝mysql數(shù)據(jù)庫省去了很多沒必要的麻煩疲眷,當出現(xiàn)下面的結果時您朽,就代表mysql數(shù)據(jù)庫安裝成功了
此時我們可以通過如下命令换淆,查看剛安裝好的mysql-server的版本
[root@xiaoluo ~]# rpm -qi mysql-server
我們安裝的mysql-server并不是最新版本倍试,如果你想嘗試最新版本蛋哭,那就去mysql官網(wǎng)下載rpm包安裝就行了,至此我們的mysql數(shù)據(jù)庫已經(jīng)安裝完成了躁愿。
四沪蓬、mysql數(shù)據(jù)庫的初始化及相關配置
我們在安裝完mysql數(shù)據(jù)庫以后,會發(fā)現(xiàn)會多出一個mysqld的服務逸雹,這個就是咱們的數(shù)據(jù)庫服務云挟,我們通過輸入 service mysqld start 命令就可以啟動我們的mysql服務。
注意:如果我們是第一次啟動mysql服務辫樱,mysql服務器首先會進行初始化的配置俊庇,如:
imageMogr2/auto-orient/strip)
[root@xiaoluo ~]# service mysqld start初始化 MySQL 數(shù)據(jù)庫: WARNING: The host 'xiaoluo' could not be looked up with resolveip.This probably means that your libc libraries are not 100 % compatiblewith this binary MySQL version. The MySQL daemon, mysqld, should worknormally with the exception that host name resolving will not work.This means that you should use IP addresses instead of hostnameswhen specifying MySQL privileges !Installing MySQL system tables...OKFilling help tables...OKTo start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your systemPLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !To do so, start the server, then issue the following commands:/usr/bin/mysqladmin -u root password 'new-password'/usr/bin/mysqladmin -u root -h xiaoluo password 'new-password'Alternatively you can run:/usr/bin/mysql_secure_installationwhich will also give you the option of removing the testdatabases and anonymous user created by default. This isstrongly recommended for production servers.See the manual for more instructions.You can start the MySQL daemon with:cd /usr ; /usr/bin/mysqld_safe &You can test the MySQL daemon with mysql-test-run.plcd /usr/mysql-test ; perl mysql-test-run.plPlease report any problems with the /usr/bin/mysqlbug script! [確定]正在啟動 mysqld: [確定]
這時我們會看到第一次啟動mysql服務器以后會提示非常多的信息辉饱,目的就是對mysql數(shù)據(jù)庫進行初始化操作,當我們再次重新啟動mysql服務時缔逛,就不會提示這么多信息了姓惑,如:
[root@xiaoluo ~]# service mysqld restart停止 mysqld: [確定]正在啟動 mysqld: [確定]
我們在使用mysql數(shù)據(jù)庫時,都得首先啟動mysqld服務敦冬,我們可以 通過 chkconfig --list | grep mysqld 命令來查看mysql服務是不是開機自動啟動唯沮,如:
[root@xiaoluo ~]# chkconfig --list | grep mysqldmysqld 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
我們發(fā)現(xiàn)mysqld服務并沒有開機自動啟動堪遂,我們當然可以通過 chkconfig mysqld on 命令來將其設置成開機啟動萌庆,這樣就不用每次都去手動啟動了
[root@xiaoluo ~]# chkconfig mysqld on[root@xiaoluo ~]# chkconfig --list | grep mysqlmysqld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
mysql數(shù)據(jù)庫安裝完以后只會有一個root管理員賬號,但是此時的root賬號還并沒有為其設置密碼猿妈,在第一次啟動mysql服務時捏境,會進行數(shù)據(jù)庫的一些初始化工作垫言,在輸出的一大串信息中倾剿,我們看到有這樣一行信息 :
/usr/bin/mysqladmin -u root password 'new-password' // 為root賬號設置密碼
所以我們可以通過 該命令來給我們的root賬號設置密碼(注意:這個root賬號是mysql的root賬號,非Linux的root賬號)
[root@xiaoluo ~]# mysqladmin -u root password 'root' // 通過該命令給root賬號設置密碼為 root
此時我們就可以通過 mysql -u root -p 命令來登錄我們的mysql數(shù)據(jù)庫了
五凛捏、mysql數(shù)據(jù)庫的主要配置文件
1./etc/my.cnf 這是mysql的主配置文件
我們可以查看一下這個文件的一些信息
[root@xiaoluo etc]# ls my.cnf my.cnf[root@xiaoluo etc]# cat my.cnf [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
2./var/lib/mysql mysql數(shù)據(jù)庫的數(shù)據(jù)庫文件存放位置
我們的mysql數(shù)據(jù)庫的數(shù)據(jù)庫文件通常是存放在了/ver/lib/mysql這個目錄下
[root@xiaoluo ~]# cd /var/lib/mysql/[root@xiaoluo mysql]# ls -l總用量 20488-rw-rw----. 1 mysql mysql 10485760 4月 6 22:01 ibdata1-rw-rw----. 1 mysql mysql 5242880 4月 6 22:01 ib_logfile0-rw-rw----. 1 mysql mysql 5242880 4月 6 21:59 ib_logfile1drwx------. 2 mysql mysql 4096 4月 6 21:59 mysql // 這兩個是mysql數(shù)據(jù)庫安裝時默認的兩個數(shù)據(jù)庫文件srwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sockdrwx------. 2 mysql mysql 4096 4月 6 21:59 test // 這兩個是mysql數(shù)據(jù)庫安裝時默認的兩個數(shù)據(jù)庫文件
我們可以自己創(chuàng)建一個數(shù)據(jù)庫坯癣,來驗證一下該數(shù)據(jù)庫文件的存放位置
創(chuàng)建一個我們自己的數(shù)據(jù)庫:mysql> create database xiaoluo;Query OK, 1 row affected (0.00 sec)[root@xiaoluo mysql]# ls -l總用量 20492-rw-rw----. 1 mysql mysql 10485760 4月 6 22:01 ibdata1-rw-rw----. 1 mysql mysql 5242880 4月 6 22:01 ib_logfile0-rw-rw----. 1 mysql mysql 5242880 4月 6 21:59 ib_logfile1drwx------. 2 mysql mysql 4096 4月 6 21:59 mysqlsrwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sockdrwx------. 2 mysql mysql 4096 4月 6 21:59 testdrwx------. 2 mysql mysql 4096 4月 6 22:15 xiaoluo // 這個就是我們剛自己創(chuàng)建的xiaoluo數(shù)據(jù)庫[root@xiaoluo mysql]# cd xiaoluo/[root@xiaoluo xiaoluo]# lsdb.opt
3./var/log mysql數(shù)據(jù)庫的日志輸出存放位置
我們的mysql數(shù)據(jù)庫的一些日志輸出存放位置都是在/var/log這個目錄下
[root@xiaoluo xiaoluo]# cd [root@xiaoluo ~]# cd /var/log[root@xiaoluo log]# lsamanda cron maillog-20130331 spice-vdagent.loganaconda.ifcfg.log cron-20130331 mcelog spooleranaconda.log cups messages spooler-20130331anaconda.program.log dirsrv messages-20130331 sssdanaconda.storage.log dmesg mysqld.log tallyloganaconda.syslog dmesg.old ntpstats tomcat6anaconda.xlog dracut.log piranha wpa_supplicant.loganaconda.yum.log gdm pm-powersave.log wtmpaudit httpd ppp Xorg.0.logboot.log ibacm.log prelink Xorg.0.log.oldbtmp lastlog sa Xorg.1.logbtmp-20130401 libvirt samba Xorg.2.logcluster luci secure Xorg.9.logConsoleKit maillog secure-20130331 yum.log
其中mysqld.log 這個文件就是我們存放我們跟mysql數(shù)據(jù)庫進行操作而產(chǎn)生的一些日志信息示罗,通過查看該日志文件芝硬,我們可以從中獲得很多信息
因為我們的mysql數(shù)據(jù)庫是可以通過網(wǎng)絡訪問的,并不是一個單機版數(shù)據(jù)庫绍绘,其中使用的協(xié)議是 tcp/ip 協(xié)議迟赃,我們都知道m(xù)ysql數(shù)據(jù)庫綁定的端口號是 3306 ,所以我們可以通過 netstat -anp 命令來查看一下左刽,Linux系統(tǒng)是否在監(jiān)聽 3306 這個端口號:
結果如上所示摄乒,Linux系統(tǒng)監(jiān)聽的3306端口號就是我們的mysql數(shù)據(jù)庫2泻凇U瘛!疫诽!