1、mysql簡介html
說到數據庫,咱們大多想到的是關係型數據庫,好比mysql、oracle、sqlserver等等,這些數據庫軟件在windows上安裝都很是的方便,在Linux上若是要安裝數據庫,咱不得不首先推薦的是mysql數據庫了,並且Mysql數據庫的第一個版本就是發行在Linux系統上的。node
MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。MySQL的SQL語言是用於訪問數據庫的最經常使用標準化語言。MySQL軟件採用了雙受權政策(本詞條「受權政策」),它分爲社區版和商業版,因爲其體積小、速度快、整體擁有成本低,尤爲是開放源碼這一特色,通常中小型網站的開發都選擇MySQL做爲網站數據庫。因爲其社區版的性能卓越,搭配PHP和Apache可組成良好的開發環境。mysql
在Linux上安裝mysql數據庫,咱們能夠去其官網上下載mysql數據庫的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,你們能夠根據本身的操做系統去下載對應的數據庫文件,目前最新的版本是5.6.10了。sql
在這裏我是經過yum來進行mysql數據庫的安裝的,經過這種方式進行安裝,能夠將跟mysql相關的一些服務、jar包都給咱們安裝好,因此省去了不少沒必要要的麻煩!!!數據庫
2、卸載掉原有mysqlwindows
由於mysql數據庫在Linux上實在是太流行了,因此目前下載的主流Linux系統版本基本上都集成了mysql數據庫在裏面,咱們能夠經過以下命令來查看咱們的操做系統上是否已經安裝了mysql數據庫tomcat
[root@xiaoluo ~]# rpm -qa | grep mysql // 這個命令就會查看該操做系統上是否已經安裝了mysql數據庫
有的話,咱們就經過 rpm -e 命令 或者 rpm -e --nodeps 命令來卸載掉服務器
[root@xiaoluo ~]# rpm -e mysql // 普通刪除模式 [root@xiaoluo ~]# rpm -e --nodeps mysql // 強力刪除模式,若是使用上面命令刪除時,提示有依賴的其它文件,則用該命令能夠對其進行強力刪除
在刪除完之後咱們能夠經過 rpm -qa | grep mysql 命令來查看mysql是否已經卸載成功!!網絡
3、經過yum來進行mysql的安裝oracle
我是經過yum的方式來進行mysql的數據庫安裝,首先咱們能夠輸入 yum list | grep mysql 命令來查看yum上提供的mysql數據庫可下載的版本:
[root@xiaoluo ~]# yum list | grep mysql
就能夠獲得yum服務器上mysql數據庫的可下載版本信息:
而後咱們能夠經過輸入 yum install -y mysql-server mysql mysql-devel 命令將mysql mysql-server mysql-devel都安裝好(注意:安裝mysql時咱們並非安裝了mysql客戶端就至關於安裝好了mysql數據庫了,咱們還須要安裝mysql-server服務端才行)
[root@xiaoluo ~]# yuminstall -y mysql-server mysql mysql-deve
在等待了一番時間後,yum會幫咱們選擇好安裝mysql數據庫所須要的軟件以及其它附屬的一些軟件
咱們發現,經過yum方式安裝mysql數據庫省去了不少不必的麻煩,當出現下面的結果時,就表明mysql數據庫安裝成功了
此時咱們能夠經過以下命令,查看剛安裝好的mysql-server的版本
[root@xiaoluo ~]# rpm -qi mysql-server
咱們安裝的mysql-server並非最新版本,若是你想嘗試最新版本,那就去mysql官網下載rpm包安裝就好了,至此咱們的mysql數據庫已經安裝完成了。
4、mysql數據庫的初始化及相關配置
咱們在安裝完mysql數據庫之後,會發現會多出一個mysqld的服務,這個就是我們的數據庫服務,咱們經過輸入 service mysqld start 命令就能夠啓動咱們的mysql服務。
注意:若是咱們是第一次啓動mysql服務,mysql服務器首先會進行初始化的配置,如:
[root@xiaoluo ~]# service mysqld start 初始化 MySQL 數據庫: WARNING: The host 'xiaoluo' could not be looked up with resolveip. This probably means that your libc libraries are not 100 % compatible with this binary MySQL version. The MySQL daemon, mysqld, should work normally with the exception that host name resolving will not work. This means that you should use IP addresses instead of hostnames when specifying MySQL privileges ! 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/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_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 formore instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/bin/mysqlbug script! [肯定] 正在啓動 mysqld: [肯定]
這時咱們會看到第一次啓動mysql服務器之後會提示很是多的信息,目的就是對mysql數據庫進行初始化操做,當咱們再次從新啓動mysql服務時,就不會提示這麼多信息了,如:
[root@xiaoluo ~]# service mysqld restart
中止 mysqld: [肯定]
正在啓動 mysqld: [肯定]
咱們在使用mysql數據庫時,都得首先啓動mysqld服務,咱們能夠 經過 chkconfig --list | grep mysqld 命令來查看mysql服務是否是開機自動啓動,如:
[root@xiaoluo ~]# chkconfig --list | grep mysqld mysqld 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
咱們發現mysqld服務並無開機自動啓動,咱們固然能夠經過 chkconfig mysqld on 命令來將其設置成開機啓動,這樣就不用每次都去手動啓動了
[root@xiaoluo ~]# chkconfig mysqld on [root@xiaoluo ~]# chkconfig --list | grep mysql mysqld 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
mysql數據庫安裝完之後只會有一個root管理員帳號,可是此時的root帳號還並無爲其設置密碼,在第一次啓動mysql服務時,會進行數據庫的一些初始化工做,在輸出的一大串信息中,咱們看到有這樣一行信息 :
/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數據庫了
5、mysql數據庫的主要配置文件
1./etc/my.cnf 這是mysql的主配置文件
咱們能夠查看一下這個文件的一些信息
[root@xiaoluo etc]# ls my.cnf my.cnf
[root@xiaoluo etc]# cat my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
2./var/lib/mysql mysql數據庫的數據庫文件存放位置
咱們的mysql數據庫的數據庫文件一般是存放在了/ver/lib/mysql這個目錄下
[root@xiaoluo ~]# cd /var/lib/mysql/ [root@xiaoluo mysql]# ls -l 總用量 20488 -rw-rw----. 1 mysql mysql 10485760 4月 622:01 ibdata1 -rw-rw----. 1 mysql mysql 5242880 4月 622:01 ib_logfile0 -rw-rw----. 1 mysql mysql 5242880 4月 621:59 ib_logfile1 drwx------. 2 mysql mysql 4096 4月 621:59 mysql // 這兩個是mysql數據庫安裝時默認的兩個數據庫文件 srwxrwxrwx. 1 mysql mysql 0 4月 622:01 mysql.sock drwx------. 2 mysql mysql 4096 4月 621:59test // 這兩個是mysql數據庫安裝時默認的兩個數據庫文件
咱們能夠本身建立一個數據庫,來驗證一下該數據庫文件的存放位置
建立一個咱們本身的數據庫: 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月 622:01 ibdata1 -rw-rw----. 1 mysql mysql 5242880 4月 622:01 ib_logfile0 -rw-rw----. 1 mysql mysql 5242880 4月 621:59 ib_logfile1 drwx------. 2 mysql mysql 4096 4月 621:59 mysql srwxrwxrwx. 1 mysql mysql 0 4月 622:01 mysql.sock drwx------. 2 mysql mysql 4096 4月 621:59 test drwx------. 2 mysql mysql 4096 4月 622:15 xiaoluo // 這個就是咱們剛本身建立的xiaoluo數據庫 [root@xiaoluo mysql]# cd xiaoluo/ [root@xiaoluo xiaoluo]# ls db.opt
3./var/log mysql數據庫的日誌輸出存放位置
咱們的mysql數據庫的一些日誌輸出存放位置都是在/var/log這個目錄下
[root@xiaoluo xiaoluo]# cd [root@xiaoluo ~]# cd /var/log [root@xiaoluo log]# ls amanda cron maillog-20130331 spice-vdagent.log anaconda.ifcfg.log cron-20130331 mcelog spooler anaconda.log cups messages spooler-20130331 anaconda.program.log dirsrv messages-20130331 sssd anaconda.storage.log dmesg mysqld.log tallylog anaconda.syslog dmesg.old ntpstats tomcat6 anaconda.xlog dracut.log piranha wpa_supplicant.log anaconda.yum.log gdm pm-powersave.log wtmp audit httpd ppp Xorg.0.log boot.log ibacm.log prelink Xorg.0.log.old btmp lastlog sa Xorg.1.log btmp-20130401 libvirt samba Xorg.2.log cluster luci secure Xorg.9.log ConsoleKit maillog secure-20130331yum.log
其中mysqld.log 這個文件就是咱們存放咱們跟mysql數據庫進行操做而產生的一些日誌信息,經過查看該日誌文件,咱們能夠從中得到不少信息
由於咱們的mysql數據庫是能夠經過網絡訪問的,並非一個單機版數據庫,其中使用的協議是 tcp/ip 協議,咱們都知道mysql數據庫綁定的端口號是 3306 ,因此咱們能夠經過 netstat -anp 命令來查看一下,Linux系統是否在監聽 3306 這個端口號:
結果如上所示,Linux系統監聽的3306端口號就是咱們的mysql數據庫!!!!
本篇隨筆詳細記錄了在CentOS6.4下經過yum安裝mysql數據庫以及對數據庫進行基本配置,在後續的Linux學習中將會堅持記錄本身的心得以及體會!!!!
堅持就是勝利!!!!!!!!!!