mySQL特點:
1.mySQL使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性
2.mySQL支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)
3.mySQL為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.mySQL支持多線程,充分利用CPU資源
5.mySQL優(yōu)化的SQL查詢算法,有效地提高查詢速度
6.mySQL既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中。
7.mySQL提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。
8.mySQL提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。
9.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。
10.mySQL支持大型的數(shù)據(jù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。
11.mySQL支持多種存儲引擎。
MySQL數(shù)據(jù)庫 v5.7.21新特性:
1.1)初始化方式的改變及默認添加用戶密碼
MySQL默認的部署策略發(fā)生了變化,變得更加安全。mysql_install_db棄用了,改用mysqld加–initialize或–initialize-insecure選項來初始化數(shù)據(jù)目錄。使用–initialize時,MySQL數(shù)據(jù)庫初始化完成以后,會產(chǎn)生一個root@localhost用戶,從MySQL 5.7開始,root用戶的密碼不再是空,而是隨機產(chǎn)生一個密碼,保存于error log,初次登錄需使用密碼并改變密碼。這也導致了用戶安裝5.7時發(fā)現(xiàn)的與5.6版本比較大的一個不同點。
1.2)刪除test庫及不再創(chuàng)建匿名賬號
MySQL官方已經(jīng)刪除了test數(shù)據(jù)庫,默認安裝完后是沒有test數(shù)據(jù)庫的,就算用戶創(chuàng)建了test庫,也可以對test庫進行權限控制了,并且不再創(chuàng)建匿名賬戶。
1.3)mysql.user表的改變
mysql.user表新增plugin列,且若某賬戶該字段值為空則賬戶不能使用。從低版本MySQL升級至MySQL5.7時要注意該問題,且建議DBA將使用mysql_old_password插件的賬戶替換為使用mysql_native_password插件。另外默認的用戶密碼字段由Password變成了authentication_string。
1.4)增加密碼過期策略
數(shù)據(jù)庫管理員可以制定賬戶密碼自動過期策略,密碼過期后必須強制進行更改。
1.5)增加用戶鎖定限制
數(shù)據(jù)庫管理員可以鎖定/解鎖賬戶來進行更好的登錄控制,對應的,mysql.user表中新增account_locked列來表示鎖定狀態(tài)。版本升級過程中要注意該問題。
1.6)默認開啟連接加密
MySQL可以自動創(chuàng)建SSL、RSA證書和Key文件來支持安全連接,但前提是Server用OpenSSL編譯,默認情況下客戶端是使用安全連接服務器的。
1.7)增加密碼復雜度檢查插件validate_password
如果使用YUM安裝MySQL的話,默認會裝載這個插件,這個插件就是對用戶密碼復雜度(字母大小寫、數(shù)字、特殊字符、密碼長度等)的一個檢查,如果不滿足設定的復雜度要求則不允許創(chuàng)建用戶。
安裝配置教程:
mysql安裝教程|mysql 5.7安裝配置詳細圖解