MySQL系列之三 基礎篇
系列教程
MySQL系列之開篇 MySQL關系型數據庫基礎概念
MySQL系列之一 MariaDB-server安裝
MySQL系列之二 多實例配置
MySQL系列之四 SQL語法
MySQL系列之五 視圖、存儲函數、存儲過程、觸發器
MySQL系列之六 用戶與授權
MySQL系列之七 MySQL存儲引擎
MySQL系列之八 MySQL服務器變量
MySQL系列之九 mysql查詢緩存及索引
MySQL系列之十 MySQL事務隔離實現並發控制
MySQL系列之十一 日志記錄
MySQL系列之十二 備份與恢復
MySQL系列之十三 MySQL的復制
MySQL系列之十四 MySQL的高可用實現
MySQL系列之十五 MySQL常用配置和性能壓力測試
一、MySQL簡介
MySQL原本是一個開放源代碼的關系數據庫管理系統,原開發者為瑞典的MySQL AB公司,該公司於2008年被Sun公司收購。2009年,Oracle收購sun公司,MySQL成為Oracle旗下產品。
但被甲骨文公司收購後,Oracle大幅調漲MySQL商業版的售價,且甲骨文公司不再支持另一個自由軟件項目OpenSolaris的發展,因此導致自由軟件社區們對於Oracle是否還會持續支持MySQL社區版(MySQL之中唯一的免費版本)有所隱憂,MySQL的創始人麥克爾·維德紐斯以MySQL為基礎,成立分支計劃MariaDB。而原先一些使用MySQL的開源軟件逐漸轉向MariaDB或其它的數據庫。
二、MySQL的發展歷史
作者:Monty 麥克爾·維德紐斯
- 1996年:發佈MySQL1.0,開始是Solaris版本,後來又發佈瞭Linux版本
- 1999年:Monty 在瑞典成立瞭 MySQL AB 公司
- 2003年:MySQL 5.0版本發佈,增加瞭視圖、存儲過程等功能
- 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的創始人麥克爾·維德紐斯主導開發,他早前曾以10億美元的價格,將自己創建的公司MySQL AB賣給瞭SUN,此後,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。MariaDB名稱來自麥克爾·維德紐斯的女兒瑪麗亞(英語:Maria)的名字。
插件式存儲引擎:也稱為“表類型”,存儲管理器有多種實現版本,功能和特性可能均略有差別;用戶可根據需要靈活選擇,Mysql5.5.5開始innoDB引擎是MYSQL默認引擎。MyISAM ==> Aria ,InnoDB ==> XtraDB
1、基本安裝與配置
安裝:yum install mariadb-server
主配置文件:從上到下檢查,如果有重復的配置參數則在後邊的配置文件中的參數生效,覆蓋檢索
/etc/my.cnf /etc/mysql/my.cnf /etc/sysconfig/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
查看默認配置:/usr/libexec/mysqld –print-defaults
默認數據庫庫文件存放目錄:/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 指定默認數據庫
-C 啟用壓縮
-e SQL_CMD 執行後退出
-V 查看版本
–print-defaults 查看默認設置
批處理模式
mysql < /path/somefile.sql 將sql腳本導入數據庫執行
交互式模式
客戶端命令
- \d|delimiter 設置語句結束符
- \c|clear 提前結束語句
- \r|connect 重新連接數據庫
- \g 直接將語句送服務器執行
- \G 直接將語句送服務器執行;結果縱向顯示
- .|source 讀入腳本文件創建數據庫
- ! COMMAND 執行shell命令
- \W 語句執行結束後顯示警告信息
- \w 語句執行結束後不顯示警告信息
- \s 獲取當前系統狀態
- use database_name 指定操作的數據庫
- prompt \u@[\D] \r:\m:\s-> 修改提示符,如果需要永久修改則在my.cnf中 [mysql] 下加入 prompt=”(\u@\h) [\d]>
- \q 退出
服務器命令:需要在命令後加命令結束符,默認結束符為分號”;”
- help KEYWORD 獲取服務器命令的幫助
- select version(); 查看數據庫版本
- show variables; 顯示數據庫當前工作的環境變量
3、其他客戶端工具
- mysqldump:備份工具,基於mysql協議向mysqld發起查詢請求,並將查得的所有數據轉換成insert等寫操作語句保存文本文件中
- mysqladmin:基於mysql協議管理mysqld
- mysqlimport:數據導入工具
- myisamchk:檢查MyISAM庫
- myisampack:打包MyISAM表
- mysqld_safe:服務二進制程序
- mysqld_multi:創建多實例工具
4、安全加強腳本 mysql_secure_installation
這個腳本可以幫助我們做一下基本的安全加強
[root@centos7 mysql]# mysql_secure_installation Enter 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' #連接數據庫命令
到此這篇關於MySQL系列之三 基礎篇的文章就介紹到這瞭,更多相關MySQL 基礎篇內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- centos編譯安裝mariadb的詳細過程
- DeepinV20快速安裝Mariadb的詳細步驟
- MySQL系列之二 多實例配置
- 銀河麒麟V10安裝MySQL8.0.28並實現遠程訪問
- MySQL系列之一 MariaDB-server安裝