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