mysql官方版是一款功能強大且非常實用的數據庫管理軟件,由瑞典MySQL AB公司開發,是一個關系型數據庫管理系統,也是當前最流行的數據庫語言。這里小編帶來的是MySQL Community Server 8.4.0 LTS和MySQL Installer 8.0.37穩定版,其中MySQL 8.4.0 LTS也是mysql第一個長期支持版本,其中最大的一個變動就是:從8.4.0開始,mysql_native_password 認證插件默認不再啟用。若要啟用,需要在MySQL啟動的時候,添加--mysql-native-password=ON 參數;或在配置文件中設置 mysql_native_password=ON。
與同類數據據相比,mysql使用了極快的“B樹”磁盤表(MyISAM)和索引壓縮;通過使用優化的“單掃描多連接”,能夠實現極快的連接,另外強大的存儲引擎使該軟件能夠有效應用于任何數據庫應用系統,高效完成各種任務,讓用戶能夠更加快速便捷的處理各種數據任務。除此之外,全新版本mysql 8還改進了觸發器的動態控制,用戶可以在同一個表中對一個事件類型應用多個觸發器進行分析,讓你更加靈活的操作,還新增了內存儀表,支持跟蹤軟件的內存分配和使用情況,讓用戶能夠清晰的觀察到后臺的運用數據,這些改進的功能能夠很好的幫助用戶。
mysql怎么創建數據庫
一、安裝MySQL
在開始建立MySQL數據庫之前,需要先進行MySQL的安裝。可以下載MySQL的安裝包并按照提示進行安裝。在安裝過程中需要設置root用戶的密碼,建議設置一個強密碼來保護MySQL數據庫的安全。
mysql詳細的安裝教程可參考本站:https://www.ddooo.com/softdown/202267.htm
二、使用命令行工具連接MySQL
安裝完成之后,可以使用命令行工具連接MySQL。在命令行窗口中輸入以下命令:mysql -u root -p
其中“root”為MySQL的超級管理員賬號,執行該命令后會提示輸入密碼,輸入設置的root用戶的密碼即可。連接成功后,會看到MySQL的命令行工具。
三、創建數據庫
在連接MySQL的命令行工具中,執行以下命令來創建一個新的數據庫:CREATE DATABASE database_name;
其中“database_name”為新建數據庫的名稱,可以根據實際需求進行修改。
四、創建表
在數據庫中,需要創建表來存儲數據。以下是創建一個名為“users”的表的命令:
CREATE TABLE users (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(30) NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
reg_date TIMESTAMP,
PRIMARY KEY (id)
);
這個表包含了4個字段:id、username、password和email,分別為用戶ID、用戶名、密碼和電子郵件地址。其中id字段為整數類型,自動遞增;其他三個字段是VARCHAR類型。reg_date字段是時間戳類型,用于記錄用戶的注冊時間。PRIMARY KEY指定了id字段為主鍵。
五、插入數據
在表創建完成后,可以向表中添加數據。以下是向users表中添加一行數據的命令:
INSERT INTO users (username, password, email, reg_date)
VALUES ('user1', 'password1', 'user1@example.com', NOW());
這個命令向users表中插入了一行數據,包含了4個字段的值,分別是:'user1'、'password1'、'user1@example.com'和當前時間。
六、查詢數據
在表中添加數據后,可以使用SELECT命令查詢并獲取數據。以下是一條查詢users表中所有行數據的命令:
SELECT * FROM users;
這個命令會返回users表的所有行數據。
mysql和sql server區別
1、支持類型不一樣。
mysql支持enum以及set類型,不支持nchar和nvarchar,還有ntext類型。
而sql server不支持enum以及set類型。
2、遞增語句不一樣。
mysql的遞增語句是AUTO_INCREMENT,而sql server的遞增語句是identity。
3、默認值格式不一樣。
sql server默認導出表創建語句的默認值表示為((0)),而在mysql里面,不允許默認值帶兩個括號。
4、識別符號不同。
sql server的識別符號是[],而mysql的識別符號是`。
5、獲取當前時間日期的方法有差別。
sql server支持用getdate()的方法獲取當前時間日期,但是mysql獲取當前日期方法是通過cur_date(),獲取當前完整時間則是要通過now()函數。
6、開發時期不一樣。
mysql是開發于90年代中期的,最早的開源數據庫中的一個。
sql server是80年代開發的。
7、所用開發語言有差別。
sql server最適合用.net作為開發語言,而mysql能用幾乎所有的其他開發語言,最常用的開發語言是PHP。
總結:在Web應用上,mysql是最好的RDBMS應用軟件中的一個。使用的sql語言是用來訪問數據庫的最常用的標準化語言。因為這個軟件體積小,加載速度快,成本不高,開放源碼,所以通常中小型網站的開發都用mysql作為網站數據庫。
sql server 有著更可靠以及安全的存儲功能,適用于構建以及管理用在業務方面的可用性較高,以及性能高的數據應用程序。
軟件功能
1、高速
高速是MySQL的顯著特性,在MySQL中,使用了極快的“B樹”磁盤表(MyISAM)和索引壓縮;通過使用優化的“單掃描多連接”,能夠實現極快的連接。
2、支持多平臺
MySQL支持超過20種開發平臺,包括Linux、Windows、FreeBSD、IBM AIX、HP-UX、Mac OS、OpenBSD、Solaris等。
3、支持各種開發語言
MySQL為各種流行的程序設計語言提供支持,為它們提供了很多API函數,包括C、C++、Java、Perl、PHP等。
4、提供多種存儲器引擎
MySQL中提供了多種數據庫存儲引擎,各引擎各有所長,適用于不同的應用場合,用戶可以選擇合適的引擎以得到高性能。
5、功能強大
強大的存儲引擎使MySQL能夠有效應用于任何數據庫應用系統,高效完成各種任務。
6、支持大型數據庫
InnoDB存儲引擎將InnoDB表保存在一個表空間內,該表空間可由數個文件創建。
7、安全
靈活和安全的權限和密碼系統,允許基于主機的驗證。
8、價格低廉
MySQL采用GPL許可,很多情況下,用戶可以免費使用MySQL。
mysql數據庫常用語句
1、使用SHOW語句找出在服務器上當前存在什么數據庫:
mysql> SHOW DATABASES;
2、創建一個數據庫MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3、選擇你所創建的數據庫
mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)
4、查看現在的數據庫中存在什么表
mysql> SHOW TABLES;
5、創建一個數據庫表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6、顯示表的結構:
mysql> DESCRIBE MYTABLE;
7、往表中加入記錄
mysql> insert into MYTABLE values (”hyq”,”M”);
8、用文本方式將數據裝入數據庫表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9、導入。sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10、刪除表
mysql>drop TABLE MYTABLE;
11、清空表
mysql>delete from MYTABLE;
12、更新表中數據
mysql>update MYTABLE set sex=”f” where name=’hyq’;
更新日志
v8.4.0 LTS版本
一、添加或更改的功能
1、組復制:與組復制相關的兩個服務器系統變量的默認值已更改:
2、系統變量的默認值為 group_replication_consistency now BEFORE_ON_PRIMARY_FAILOVER;以前,這是EVENTUAL.
3、系統變量的默認值為 group_replication_exit_state_action now OFFLINE_MODE;以前,這是READ_ONLY.
4、對于捆綁 OpenSSL 庫的平臺,MySQL Server 的鏈接 OpenSSL 庫已更新至版本 3.0.13。
5、不支持從 MySQL 5.7 升級到 MySQL 8.4;代碼和行為已更新以反映這一點。將 MySQL 5.7 升級到 8.0,然后再繼續升級到 8.4。
6、InnoDB:現在,在長時間運行的回滾過程中,進度消息會定期記錄為信息注釋級別的錯誤消息,最初為 ER_IB_LONG_ROLLBACK_FULL(附加事務信息),后跟連續的 ER_IB_LONG_ROLLBACK.
7、InnoDB: 更改了以下配置選項的默認值 innodb_adaptive_hash_index, innodb_buffer_pool_in_core_file, innodb_buffer_pool_instances, innodb_change_buffering, innodb_doublewrite_files, innodb_doublewrite_pages, innodb_flush_method, innodb_io_capacity, innodb_io_capacity_max, innodb_log_buffer_size, innodb_numa_interleave, innodb_page_cleaners, innodb_parallel_read_threads, innodb_purge_threads, innodb_read_io_threads, innodb_use_fdatasync, temptable_max_ram, temptable_max_mmap, 以及 temptable_use_mmap.
8、克隆插件版本要求放寬,允許在同一系列的不同點版本之間進行克隆。換句話說,只有主要版本號和次要版本號必須匹配,而以前點版本號也必須匹配。
例如,克隆功能現在允許將 8.4.0 克隆到 8.4.14 以及將 8.0.51 克隆到 8.0.37。對于 8.0,之前的限制仍然適用于 8.0.37 之前的版本,因此不允許將 8.0.36 等克隆到 8.0.42,反之亦然。
二、服務器管理
1、此版本添加了特定于FLUSH PRIVILEGES語句使用的權限。與現有 RELOAD權限不同,新 FLUSH_PRIVILEGES權限僅適用于FLUSH PRIVILEGES語句。此權限的范圍是全局的,并且適用于用戶和角色。
2、RELOAD繼續以這種方式支持該特權,以提供向后兼容性;具有此權限的用戶FLUSH PRIVILEGES在升級后仍然可以執行語句。作為升級到 MySQL 8.4 版本的一部分,將執行檢查以查看是否有任何用戶具有該 FLUSH_PRIVILEGES權限;如果沒有,RELOAD則擁有該權限的用戶也會自動分配新的權限。
3、此版本添加了新 OPTIMIZE_LOCAL_TABLE權限。用戶必須具有此權限才能執行 OPTIMIZE LOCAL TABLE和 OPTIMIZE NO_WRITE_TO_BINLOG TABLE語句。
4、從以前的版本升級時,已擁有該SYSTEM_USER權限的用戶將自動被授予該 OPTIMIZE_LOCAL_TABLE權限。
三、棄用和刪除說明
1、已棄用的mysql_native_password 身份驗證插件現在默認處于禁用狀態。可以通過使用新 --mysql-native-password=ON服務器選項啟動 MySQL 或添加mysql_native_password=ON 到[mysqld]MySQL 配置文件的部分來啟用它。
2、復制:以前版本的 MySQL 中已棄用的與 MySQL 復制相關的許多功能的語法現已刪除。這些功能包括 SQL 語句語法的各個方面以及 MySQL 服務器中的多個系統狀態變量。這些變化詳述如下。
3、以下 SQL 語句已被刪除(替換在括號中): START SLAVE (START REPLICA); STOP SLAVE (STOP REPLICA); SHOW SLAVE STATUS (SHOW REPLICA STATUS); SHOW SLAVE HOSTS (SHOW REPLICAS); RESET SLAVE (RESET REPLICA); CHANGE MASTER TO (CHANGE REPLICATION SOURCE TO); RESET MASTER (RESET BINARY LOGS AND GTIDS); SHOW MASTER STATUS (SHOW BINARY LOG STATUS); PURGE MASTER LOGS (PURGE BINARY LOGS); 以及 SHOW MASTER LOGS (SHOW BINARY LOGS).




