mysql原本是乙個開放源**的關聯式資料庫管理系統,原開發者為瑞典的mysql ab公司,該公司於2023年被sun公司收購。2023年,oracle收購sun公司,mysql成為oracle旗下產品。
但被甲骨文公司收購後,oracle大幅調漲mysql商業版的售價,且甲骨文公司不再支援另乙個自由軟體專案opensolaris的發展,因此導致自由軟體社群們對於oracle是否還會持續支援mysql社群版(mysql之中唯一的免費版本)有所隱憂,mysql的創始人麥可·維德紐斯以mysql為基礎,成立分支計畫mariadb。而原先一些使用mysql的開源軟體逐漸轉向mariadb或其它的資料庫。
版本的演變:
mysql:5.1 --> 5.5 --> 5.6 --> 5.7
mariadb:5.5 -->10.0--> 10.1 --> 10.2 --> 10.3
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 檢視預設設定
互動式模式
伺服器命令:需要在命令後加命令結束符,預設結束符為分號";"
3、其他客戶端工具
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' #連線資料庫命令
@_@ 2018.06.05 11:38 mysql設計之三正規化 MySQL設計之三正規化
資料庫設計三正規化 設計資料庫表的時候所依據的規範,共三個規範 第一正規化 要求有主鍵,並且要求每乙個字段原子性不可再分 第二正規化 要求所有非主鍵字段完全依賴主鍵,不能產生部分依賴 第三正規化 所有非主鍵欄位和主鍵字段之間不能產生傳遞依賴 第一正規化 資料庫表中不能出現重覆記錄,每個欄位是原子性的...
《解剖PetShop》系列之三
解剖petshop 系列之三 三 petshop資料訪問層之訊息處理 在進行系統設計時,除了對安全 事務等問題給與足夠的重視外,效能也是乙個不可避免的問題所在,尤其是乙個b s結構的軟體系統,必須充分地考慮訪問量 資料流量 伺服器負荷的問題。解決效能的瓶頸,除了對硬體系統進行公升級外,軟體設計的合理...
ORM系列之三 Dapper
目錄 快,讀取資料接近idatareader。支援大部分主流的資料庫,如 ms sql,oracle,mysql,sqlite等等。支援對映一對一,一對多,多對多關係。示例中需要用到兩個實體型別,分別為post.cs和user.cs。1 2 3 4 5 6 7 8 9 10 11 12 13 pub...