MySQL系列之三 基礎(chǔ)篇
MySQL系列之開(kāi)篇 MySQL關(guān)系型數(shù)據(jù)庫(kù)基礎(chǔ)概念 MySQL系列之一 MariaDB-server安裝 MySQL系列之二 多實(shí)例配置 MySQL系列之四 SQL語(yǔ)法 MySQL系列之五 視圖、存儲(chǔ)函數(shù)、存儲(chǔ)過(guò)程、觸發(fā)器 MySQL系列之六 用戶(hù)與授權(quán) MySQL系列之七 MySQL存儲(chǔ)引擎 MySQL系列之八 MySQL服務(wù)器變量 MySQL系列之九 mysql查詢(xún)緩存及索引 MySQL系列之十 MySQL事務(wù)隔離實(shí)現(xiàn)并發(fā)控制 MySQL系列之十一 日志記錄 MySQL系列之十二 備份與恢復(fù) MySQL系列之十三 MySQL的復(fù)制 MySQL系列之十四 MySQL的高可用實(shí)現(xiàn) MySQL系列之十五 MySQL常用配置和性能壓力測(cè)試
一、MySQL簡(jiǎn)介 MySQL原本是一個(gè)開(kāi)放源代碼的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),原開(kāi)發(fā)者為瑞典的MySQL AB公司,該公司于2008年被Sun公司收購(gòu)。2009年,Oracle收購(gòu)sun公司,MySQL成為Oracle旗下產(chǎn)品。
但被甲骨文公司收購(gòu)后,Oracle大幅調(diào)漲MySQL商業(yè)版的售價(jià),且甲骨文公司不再支持另一個(gè)自由軟件項(xiàng)目OpenSolaris的發(fā)展,因此導(dǎo)致自由軟件社區(qū)們對(duì)于Oracle是否還會(huì)持續(xù)支持MySQL社區(qū)版(MySQL之中唯一的免費(fèi)版本)有所隱憂,MySQL的創(chuàng)始人麥克爾·維德紐斯以MySQL為基礎(chǔ),成立分支計(jì)劃MariaDB。而原先一些使用MySQL的開(kāi)源軟件逐漸轉(zhuǎn)向MariaDB或其它的數(shù)據(jù)庫(kù)。
二、MySQL的發(fā)展歷史作者:Monty 麥克爾·維德紐斯
1996年:發(fā)布MySQL1.0,開(kāi)始是Solaris版本,后來(lái)又發(fā)布了Linux版本 1999年:Monty 在瑞典成立了 MySQL AB 公司 2003年:MySQL 5.0版本發(fā)布,增加了視圖、存儲(chǔ)過(guò)程等功能 2008年:被 sun公司 收購(gòu) 2009年:Oracle 收購(gòu) sun 2009年:Monty 成立 MariaDB版本的演變:
MySQL:5.1 --> 5.5 --> 5.6 --> 5.7 MariaDB:5.5 -->10.0--> 10.1 --> 10.2 --> 10.3三、MariaDB的基本使用MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。在存儲(chǔ)引擎方面,10.0.9版起使用XtraDB(名稱(chēng)代號(hào)為Aria)來(lái)代替MySQL的InnoDB。
由MySQL的創(chuàng)始人麥克爾·維德紐斯主導(dǎo)開(kāi)發(fā),他早前曾以10億美元的價(jià)格,將自己創(chuàng)建的公司MySQL AB賣(mài)給了SUN,此后,隨著SUN被甲骨文收購(gòu),MySQL的所有權(quán)也落入Oracle的手中。MariaDB名稱(chēng)來(lái)自麥克爾·維德紐斯的女兒瑪麗亞(英語(yǔ):Maria)的名字。
插件式存儲(chǔ)引擎:也稱(chēng)為“表類(lèi)型”,存儲(chǔ)管理器有多種實(shí)現(xiàn)版本,功能和特性可能均略有差別;用戶(hù)可根據(jù)需要靈活選擇,Mysql5.5.5開(kāi)始innoDB引擎是MYSQL默認(rèn)引擎。MyISAM ==> Aria ,InnoDB ==> XtraDB
1、基本安裝與配置安裝:yum install mariadb-server
主配置文件:從上到下檢查,如果有重復(fù)的配置參數(shù)則在后邊的配置文件中的參數(shù)生效,覆蓋檢索
/etc/my.cnf/etc/mysql/my.cnf/etc/sysconfig/my.cnf/usr/local/etc/my.cnf~/.my.cnf
查看默認(rèn)配置:/usr/libexec/mysqld --print-defaults
默認(rèn)數(shù)據(jù)庫(kù)庫(kù)文件存放目錄:/var/lib/mysql/
套接字文件:/var/lib/mysql/mysql.sock
PID文件:/var/run/mariadb/mariadb.pid
日志文件:/var/log/mariadb/mariadb.log
啟動(dòng)服務(wù):# systemctl start mariadb.service
2、客戶(hù)端命令:mysql選項(xiàng):
-u root 指定用戶(hù)-p password 指定密碼-h host 指定連接主機(jī)-A 禁止補(bǔ)全-P port 指定端口,默認(rèn)3306 -S socket文件路徑 默認(rèn):/var/lib/mysql/mysql.sock -D databasename 指定默認(rèn)數(shù)據(jù)庫(kù) -C 啟用壓縮 -e SQL_CMD 執(zhí)行后退出-V 查看版本 --print-defaults 查看默認(rèn)設(shè)置
批處理模式
mysql < /path/somefile.sql 將sql腳本導(dǎo)入數(shù)據(jù)庫(kù)執(zhí)行
交互式模式
客戶(hù)端命令
d|delimiter 設(shè)置語(yǔ)句結(jié)束符 c|clear 提前結(jié)束語(yǔ)句 r|connect 重新連接數(shù)據(jù)庫(kù) g 直接將語(yǔ)句送服務(wù)器執(zhí)行 G 直接將語(yǔ)句送服務(wù)器執(zhí)行;結(jié)果縱向顯示 .|source 讀入腳本文件創(chuàng)建數(shù)據(jù)庫(kù) ! COMMAND 執(zhí)行shell命令 W 語(yǔ)句執(zhí)行結(jié)束后顯示警告信息 w 語(yǔ)句執(zhí)行結(jié)束后不顯示警告信息 s 獲取當(dāng)前系統(tǒng)狀態(tài) use database_name 指定操作的數(shù)據(jù)庫(kù) prompt u@[D] r:m:s-> 修改提示符,如果需要永久修改則在my.cnf中 [mysql] 下加入 prompt='(u@h) [d]> q 退出服務(wù)器命令:需要在命令后加命令結(jié)束符,默認(rèn)結(jié)束符為分號(hào)';'
help KEYWORD 獲取服務(wù)器命令的幫助 select version(); 查看數(shù)據(jù)庫(kù)版本 show variables; 顯示數(shù)據(jù)庫(kù)當(dāng)前工作的環(huán)境變量3、其他客戶(hù)端工具 mysqldump:備份工具,基于mysql協(xié)議向mysqld發(fā)起查詢(xún)請(qǐng)求,并將查得的所有數(shù)據(jù)轉(zhuǎn)換成insert等寫(xiě)操作語(yǔ)句保存文本文件中 mysqladmin:基于mysql協(xié)議管理mysqld mysqlimport:數(shù)據(jù)導(dǎo)入工具 myisamchk:檢查MyISAM庫(kù) myisampack:打包MyISAM表 mysqld_safe:服務(wù)二進(jìn)制程序 mysqld_multi:創(chuàng)建多實(shí)例工具 4、安全加強(qiáng)腳本 mysql_secure_installation這個(gè)腳本可以幫助我們做一下基本的安全加強(qiáng)
[root@centos7 mysql]# mysql_secure_installationEnter current password for root (enter for none): #空密碼直接回車(chē)Set root password? [Y/n] Y #設(shè)置root密碼New password: ******Re-enter new password: ******Remove anonymous users? [Y/n] Y #刪除匿名賬戶(hù)Disallow root login remotely? [Y/n] n #禁用遠(yuǎn)程連接Remove test database and access to it? [Y/n] Y #刪除test庫(kù)Reload privilege tables now? [Y/n] Y #重讀授權(quán)表使其配置生效[root@centos7 mysql]# mysql -uroot -p’your_password’ #連接數(shù)據(jù)庫(kù)命令
到此這篇關(guān)于MySQL系列之三 基礎(chǔ)篇的文章就介紹到這了,更多相關(guān)MySQL 基礎(chǔ)篇內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. MySQL/MariaDB 如何實(shí)現(xiàn)數(shù)據(jù)透視表的示例代碼2. 如何用mysqldump進(jìn)行全量和時(shí)間點(diǎn)備份3. MSSQL跨服務(wù)器連接的幾種方法4. sql server 災(zāi)難恢復(fù)5. 通過(guò)幾個(gè)步驟有效關(guān)閉Oracle死鎖進(jìn)程6. ACCESS轉(zhuǎn)SQL數(shù)據(jù)庫(kù)相關(guān)的幾個(gè)技能7. 淺談SELECT?*會(huì)導(dǎo)致查詢(xún)效率低的原因8. DB2的高可用性和災(zāi)難恢復(fù)概述9. 如何在SQL Server 2005中為安裝程序增加計(jì)數(shù)器注冊(cè)表項(xiàng)值10. Mybatis自關(guān)聯(lián)查詢(xún)一對(duì)多查詢(xún)的實(shí)現(xiàn)示例
