一、mysql簡介
說到資料庫,我們大多想到的是關係型資料庫,像是mysql、oracle、sqlserver等等,這些資料庫軟體在windows上安裝都非常的方便,在linux上如果要安裝資料庫,咱不得不先推薦的是mysql資料庫了,而且mysql資料庫的第一個版本就是發行在linux系統上的。
mysql是一個關係型資料庫管理系統,由瑞典mysql ab公司開發,目前屬於oracle公司。 mysql是一種關聯資料庫管理系統,關聯資料庫將資料保存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。 mysql的sql語言是用於存取資料庫的最常用標準化語言。 mysql軟體採用了雙重授權政策(本詞條「授權政策」),它分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇mysql作為網站資料庫。由於其社群版的性能卓越,搭配php和apache可組成良好的開發環境。
在linux上安裝mysql資料庫,大家可以依照自己的作業系統去下載對應的資料庫檔案。
mysql5.0版本下載位址集合:
在這裡我是透過yum來進行mysql資料庫的安裝的,透過這種方式進行安裝,可以將跟mysql相關的一些服務、jar包都給我們安裝好,所以省去了很多不必要的麻煩! ! !
二、卸載掉原有mysql
因為mysql資料庫在linux上實在是太流行了,所以目前下載的主流linux系統版本基本上都整合了mysql資料庫在裡面,我們可以透過以下指令來查看我們的作業系統上是否已經安裝了mysql資料庫
[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是否已經卸載成功! !
三、透過yum來進行mysql的安裝
我是透過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 ~]# yum install -y mysql-server mysql mysql-deve
在等待了一番時間後,yum會幫我們選擇好安裝mysql資料庫所需的軟體以及其它附屬的一些軟體
# 我們發現,透過yum方式安裝mysql資料庫省去了很多沒必要的麻煩,當出現下面的結果時,就代表mysql資料庫安裝成功了
此時我們可以透過以下指令,查看剛安裝好的mysql-server的版本
[root@xiaoluo ~]# rpm -qi mysql-server
我們安裝的mysql-server並不是最新版本,如果你想嘗試最新版本,那就去mysql官網下載rpm包安裝就行了,至此我們的mysql資料庫已經安裝完成了。
四、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 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.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数据库了
五、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月 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_logfile1 drwx------. 2 mysql mysql 4096 4月 6 21:59 mysql // 这两个是mysql数据库安装时默认的两个数据库文件 srwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sock drwx------. 2 mysql mysql 4096 4月 6 21:59 test // 这两个是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月 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_logfile1 drwx------. 2 mysql mysql 4096 4月 6 21:59 mysql srwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sock drwx------. 2 mysql mysql 4096 4月 6 21:59 test drwx------. 2 mysql mysql 4096 4月 6 22: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-20130331 yum.log
其中mysqld.log 这个文件就是我们存放我们跟mysql数据库进行操作而产生的一些日志信息,通过查看该日志文件,我们可以从中获得很多信息
因为我们的mysql数据库是可以通过网络访问的,并不是一个单机版数据库,其中使用的协议是 tcp/ip 协议,我们都知道mysql数据库绑定的端口号是 3306 ,所以我们可以通过 netstat -anp 命令来查看一下,linux系统是否在监听 3306 这个端口号:
以上是CentOS6.4下Mysql資料庫怎麼安裝與配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

MySQL是一種開源的關係型數據庫管理系統,主要用於快速、可靠地存儲和檢索數據。其工作原理包括客戶端請求、查詢解析、執行查詢和返回結果。使用示例包括創建表、插入和查詢數據,以及高級功能如JOIN操作。常見錯誤涉及SQL語法、數據類型和權限問題,優化建議包括使用索引、優化查詢和分錶分區。

MySQL是一個開源的關係型數據庫管理系統,適用於數據存儲、管理、查詢和安全。 1.它支持多種操作系統,廣泛應用於Web應用等領域。 2.通過客戶端-服務器架構和不同存儲引擎,MySQL高效處理數據。 3.基本用法包括創建數據庫和表,插入、查詢和更新數據。 4.高級用法涉及復雜查詢和存儲過程。 5.常見錯誤可通過EXPLAIN語句調試。 6.性能優化包括合理使用索引和優化查詢語句。

選擇MySQL的原因是其性能、可靠性、易用性和社區支持。 1.MySQL提供高效的數據存儲和檢索功能,支持多種數據類型和高級查詢操作。 2.採用客戶端-服務器架構和多種存儲引擎,支持事務和查詢優化。 3.易於使用,支持多種操作系統和編程語言。 4.擁有強大的社區支持,提供豐富的資源和解決方案。

InnoDB的鎖機制包括共享鎖、排他鎖、意向鎖、記錄鎖、間隙鎖和下一個鍵鎖。 1.共享鎖允許事務讀取數據而不阻止其他事務讀取。 2.排他鎖阻止其他事務讀取和修改數據。 3.意向鎖優化鎖效率。 4.記錄鎖鎖定索引記錄。 5.間隙鎖鎖定索引記錄間隙。 6.下一個鍵鎖是記錄鎖和間隙鎖的組合,確保數據一致性。

MySQL查询性能不佳的原因主要包括没有使用索引、查询优化器选择错误的执行计划、表设计不合理、数据量过大和锁竞争。1.没有索引导致查询缓慢,添加索引后可显著提升性能。2.使用EXPLAIN命令可以分析查询计划,找出优化器错误。3.重构表结构和优化JOIN条件可改善表设计问题。4.数据量大时,采用分区和分表策略。5.高并发环境下,优化事务和锁策略可减少锁竞争。

在數據庫優化中,應根據查詢需求選擇索引策略:1.當查詢涉及多個列且條件順序固定時,使用複合索引;2.當查詢涉及多個列但條件順序不固定時,使用多個單列索引。複合索引適用於優化多列查詢,單列索引則適合單列查詢。

要優化MySQL慢查詢,需使用slowquerylog和performance_schema:1.啟用slowquerylog並設置閾值,記錄慢查詢;2.利用performance_schema分析查詢執行細節,找出性能瓶頸並優化。

MySQL和SQL是開發者必備技能。 1.MySQL是開源的關係型數據庫管理系統,SQL是用於管理和操作數據庫的標準語言。 2.MySQL通過高效的數據存儲和檢索功能支持多種存儲引擎,SQL通過簡單語句完成複雜數據操作。 3.使用示例包括基本查詢和高級查詢,如按條件過濾和排序。 4.常見錯誤包括語法錯誤和性能問題,可通過檢查SQL語句和使用EXPLAIN命令優化。 5.性能優化技巧包括使用索引、避免全表掃描、優化JOIN操作和提升代碼可讀性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境