目錄
- 系列教程
- 一、MySQL簡(jiǎn)介
- 二、MySQL的發(fā)展歷史
- 三、MariaDB的基本使用
- 1、基本安裝與配置
- 2、客戶端命令:mysql
- 3、其他客戶端工具
- 4、安全加強(qiáng)腳本 mysql_secure_installation
系列教程
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系列之六 用戶與授權(quán)
MySQL系列之七 MySQL存儲(chǔ)引擎
MySQL系列之八 MySQL服務(wù)器變量
MySQL系列之九 mysql查詢緩存及索引
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(名稱代號(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名稱來(lái)自麥克爾·維德紐斯的女兒瑪麗亞(英語(yǔ):Maria)的名字。
插件式存儲(chǔ)引擎:也稱為“表類(lèi)型”,存儲(chǔ)管理器有多種實(shí)現(xiàn)版本,功能和特性可能均略有差別;用戶可根據(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、客戶端命令:mysql
選項(xiàng):
-u root 指定用戶
-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í)行
交互式模式
客戶端命令
- \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、其他客戶端工具
- mysqldump:備份工具,基于mysql協(xié)議向mysqld發(fā)起查詢請(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_installation
Enter 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 #刪除匿名賬戶
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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- MariaDB(MySQL)創(chuàng)建、刪除、選擇及數(shù)據(jù)類(lèi)型使用詳解
- Mysql的基礎(chǔ)使用之MariaDB安裝方法詳解
- centos 7安裝mysql5.5和安裝 mariadb使用的命令