Làm cách nào để xem múi giờ trong MySQL?

Nhiều khi các múi giờ khác nhau có thể tạo ra một số nhầm lẫn giữa các nhà phát triển. Do đó, cần phải kiểm tra múi giờ hiện tại của MySQL trong nhiều trường hợp. Trong bài viết này, chúng ta sẽ tìm hiểu cách kiểm tra múi giờ hiện tại của MySQL

Múi giờ của MySQL có thể được truy xuất bằng cách sử dụng các biến múi giờ. Hãy để chúng tôi xem làm thế nào để sử dụng chúng cho mục đích

@@system_time_zone

Quan sát truy vấn bên dưới để lấy múi giờ hiện tại

SELECT @@system_time_zone;

đầu ra. -

Làm cách nào để xem múi giờ trong MySQL?
hình ảnh_1

Đầu ra trong image_1 cho thấy múi giờ hiện tại của MySQL là IST

@@TOÀN CẦU. Múi giờ

Toàn cầu. time_zone lấy giá trị múi giờ toàn cầu. Quan sát truy vấn dưới đây

SELECT @@GLOBAL.time_zone;

đầu ra. -

Làm cách nào để xem múi giờ trong MySQL?
hình ảnh_2

Đầu ra trong image_2 cho thấy MySQL lấy giá trị múi giờ toàn cầu từ giá trị được đặt trong hệ thống đang hoạt động

@@PHIÊN HỌP. Múi giờ

PHIÊN @@. time_zone lấy giá trị múi giờ của phiên. Quan sát truy vấn dưới đây

SELECT @@SESSION.time_zone;

đầu ra. -

Làm cách nào để xem múi giờ trong MySQL?
hình ảnh_3

Đầu ra trong image_3 cho thấy MySQL lấy giá trị múi giờ của phiên từ giá trị được đặt trong hệ thống đang hoạt động

hiện nay()

Hàm MySQL now() sẽ trả về giá trị ngày và giờ theo múi giờ được đặt cho MySQL. Quan sát truy vấn dưới đây

Các múi giờ và các cài đặt khác nhau để quản lý và thao tác các trường liên quan đến ngày và giờ để lưu trữ và truy xuất thời gian liên quan đến vùng được hỗ trợ bởi MySQL. Theo mặc định, bất cứ khi nào MySQL được cài đặt trên máy, các biến múi giờ được đặt sao cho múi giờ được đặt trong hệ thống là hệ điều hành của máy được tham chiếu. Hơn nữa, chúng ta có thể thay đổi và thao tác các biến này theo sự thuận tiện và cần thiết để lưu trữ và thao tác các giá trị ngày và giờ trong MySQL. Chúng tôi có thể thay đổi các giá trị múi giờ bằng cách cộng hoặc trừ thời gian cần thiết theo giờ và phút từ UTC hoặc bằng cách chỉ định múi giờ ở định dạng được đặt tên theo vùng và vùng

Trong bài viết này, chúng ta sẽ nghiên cứu hoạt động của múi giờ trong MySQL và nghiên cứu một số biến liên quan cũng như cách chúng ta có thể nhận và đặt giá trị của các biến đó để thao tác múi giờ. Hơn nữa, chúng ta sẽ xem cách các bảng liên quan đến múi giờ có thể được tải thủ công trong MySQL và cũng xem một số ví dụ liên quan đến múi giờ

Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn

Hadoop, Khoa học dữ liệu, Thống kê và những thứ khác

Các chức năng của Múi giờ MySQL

  • Bất cứ khi nào MySQL được khởi động, nó sẽ tìm kiếm múi giờ được đặt cho hệ thống và đặt giá trị của biến hệ thống có tên system_time_zone thành giá trị múi giờ được lấy từ máy chủ. Khi điều này được thực hiện trong quá trình khởi động máy chủ, giá trị của biến này không thay đổi
  • Chúng ta có thể thay đổi múi giờ của hệ thống tại thời điểm khởi động máy chủ bằng cách đặt giá trị của biến môi trường có tên TZ sẽ được thực hiện trước khi chạy lệnh mysqld
  • Ngoài ra, còn một phương pháp nữa để đặt múi giờ hệ thống trong trường hợp nếu bạn đang sử dụng chế độ mysqld_safe cho máy chủ của mình, bạn có thể đặt giá trị cho tùy chọn –timezone
  • Các giá trị được phép đặt thành tùy chọn biến TZ hoặc –múi giờ tùy thuộc vào hệ điều hành mà bạn đang sử dụng. Tham khảo tài liệu về hệ điều hành của bạn để biết thêm chi tiết về các giá trị múi giờ được chấp nhận
  • Múi giờ đang được sử dụng bởi máy chủ MySQL được xác định bởi các giá trị của giá trị hiện tại và giá trị toàn cầu cho biến hệ thống time_zone. Theo mặc định, giá trị ở đầu biến time_zone là SYSTEM, nghĩa là múi giờ của hệ điều hành máy chủ được sử dụng bởi MySQL
  • Chúng ta chỉ có thể đặt giá trị của biến toàn cục time_zone nếu chúng ta đã gán đặc quyền SUPER hoặc đặc quyền SYSTEM_VARIABLE_ADMIN bằng cách sử dụng lệnh SET GLOBAL time_zone
  • Biến phiên cho mỗi phiên máy khách đang được sử dụng có thể ghi đè giá trị của múi giờ được đặt thành HỆ THỐNG hoặc múi giờ toàn cầu thành giá trị múi giờ bắt buộc cho phiên cụ thể đó bằng cách sử dụng lệnh SET time_zone
  • Tất cả các giá trị phân biệt theo vùng đều bị ảnh hưởng bởi múi giờ được đặt ở cấp phiên. Các giá trị được hiển thị bởi các hàm Now() và CURTIME() cũng như các cột có DẤU THỜI GIAN làm kiểu dữ liệu bị ảnh hưởng khi lưu trữ và truy xuất các giá trị đó
  • Các giá trị được lưu trữ và truy xuất trong các cột có kiểu dữ liệu NGÀY, GIỜ hoặc DATETIME không bị ảnh hưởng bởi cài đặt múi giờ phiên. Cùng với đó các chức năng như UTC_TIMESTAMP() cũng không bị ảnh hưởng
  • Múi giờ có thể được đặt ở cấp độ toàn cầu hoặc cấp độ phiên ở một trong hai định dạng đang xác định phần bù từ UTC ở định dạng chuỗi theo định dạng giờ và phút hh. mm bằng cách thêm như '-5. 30’, ‘+5. 30', v.v. hoặc trừ đi giá trị đó hoặc các múi giờ được đặt tên như America hoặc New_York cho America hoặc Asia/Kolkata cho Giờ chuẩn Ấn Độ i. e UTC+05. 30
  • Định dạng thứ hai của việc chỉ định múi giờ ở định dạng được đặt tên cần các bảng thông tin liên quan đến múi giờ được tải và điền vào máy chủ MySQL của bạn

Điền các bảng thông tin liên quan đến múi giờ

Bất cứ khi nào MySQL được cài đặt trên máy của bạn, các bảng khác nhau liên quan đến múi giờ sẽ được tạo để lưu trữ thông tin liên quan đến múi giờ bên trong lược đồ có tên MySQL. Tuy nhiên, trong quá trình cài đặt, chỉ việc tạo các bảng như vậy được thực hiện, trong khi để sử dụng các múi giờ được đặt tên và nhiều cơ sở tương tự như vậy, điều quan trọng là các bảng này phải được tải và điền

Chúng tôi có thể tải các bảng múi giờ theo cách thủ công. Trong một số hệ điều hành như macOS, Solaris, Linux và FreeBSD, chúng có cơ sở dữ liệu riêng lưu trữ thông tin vùng. Trong trường hợp này, chúng tôi có thể sử dụng tệp này để lưu trữ cùng một thông tin vào các bảng vùng của lược đồ MySQL của chúng tôi. Đường dẫn mà bạn thường tìm thấy tệp này nhất là thư mục /usr/share/zoneinfo. Chúng ta có thể sử dụng chương trình mysql_tzinfo_to_sql để điền các bảng vùng từ cơ sở dữ liệu thông tin vùng hệ thống bằng lệnh sau

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u username -p password

Gói khoa học dữ liệu tất cả trong một(360+ khóa học, hơn 50 dự án)

Làm cách nào để xem múi giờ trong MySQL?
Làm cách nào để xem múi giờ trong MySQL?
Làm cách nào để xem múi giờ trong MySQL?
Làm cách nào để xem múi giờ trong MySQL?

Làm cách nào để xem múi giờ trong MySQL?
Làm cách nào để xem múi giờ trong MySQL?
Làm cách nào để xem múi giờ trong MySQL?
Làm cách nào để xem múi giờ trong MySQL?

Giá
Xem khóa học

360+ Khóa học trực tuyến. hơn 50 dự án. Hơn 1500 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 7 (84.215 xếp hạng)

cho rằng bạn đang sử dụng tài khoản có tên người dùng là tên và mật khẩu là mật khẩu cho tài khoản đó và có đặc quyền ghi trên lược đồ MySQL của MySQL. Đối với các hệ điều hành không có thông tin khu vực như vậy, bạn có thể sử dụng các gói có thể tải xuống

Ví dụ về múi giờ MySQL

Để lấy giá trị múi giờ toàn cầu, bạn có thể sử dụng câu lệnh truy vấn sau

SELECT @@GLOBAL.time_zone;

Việc thực thi câu lệnh truy vấn trên cho kết quả đầu ra sau với SYSTEM là giá trị chỉ định rằng múi giờ toàn cầu của MySQL giống với múi giờ của hệ điều hành

Để lấy giá trị múi giờ của phiên, bạn có thể sử dụng câu lệnh truy vấn sau

SELECT @@SESSION.time_zone;

Việc thực thi câu lệnh truy vấn trên cho kết quả đầu ra sau với SYSTEM là giá trị chỉ định rằng múi giờ của MySQL giống với múi giờ của hệ điều hành

Làm cách nào để xem múi giờ trong MySQL?

Hãy để chúng tôi truy xuất ngày và giờ hiện tại bằng cách sử dụng hàm NOW() cung cấp đầu ra sau

SELECT NOW();

Làm cách nào để xem múi giờ trong MySQL?

Hãy để chúng tôi thay đổi múi giờ cho phiên hiện tại bằng lệnh sau

SET time_zone = '+13:00';

cung cấp cho đầu ra sau đây

Làm cách nào để xem múi giờ trong MySQL?

Hãy để chúng tôi thực hiện lại lệnh tương tự để lấy ngày và giờ hiện tại

SELECT NOW();

cung cấp cho đầu ra sau đây

Làm cách nào để xem múi giờ trong MySQL?

Phần kết luận

MySQL cung cấp cho chúng tôi các biến khác nhau giúp chúng tôi duy trì và quản lý thông tin liên quan đến múi giờ trong MySQL. Chúng tôi có thể nhận và đặt các giá trị của múi giờ bằng cách thay đổi giá trị của nó ở cấp độ toàn cầu hoặc phiên hoặc bên trong tệp cấu hình

Bài viết được đề xuất

Đây là hướng dẫn về Múi giờ MySQL. Ở đây chúng tôi cũng thảo luận về việc giới thiệu và hoạt động của múi giờ mysql cùng với các ví dụ khác nhau và cách triển khai mã của nó. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Làm cách nào để tìm múi giờ trong MySQL?

Tìm múi giờ MySQL hiện tại . Theo mặc định, hệ thống sẽ hiển thị giá trị SYSTEM cho múi giờ của bạn. Điều này chỉ ra rằng múi giờ trong MySQL được đồng bộ hóa với múi giờ của máy chủ. connect to your server over SSH, using root. By default, the system will display a value of SYSTEM for your time zone. This indicates that the time zone in MySQL is synchronized with the server's time zone.

Làm cách nào để kiểm tra múi giờ trong SQL Server?

Người dùng SQL Server thường tìm nạp múi giờ địa phương bằng cách sử dụng hàm GETDATE() với câu lệnh chèn/cập nhật hoặc dưới dạng ràng buộc mặc định cho cột ngày giờ trong câu lệnh chọn.

MySQL có lưu trữ múi giờ không?

MySQL chuyển đổi các giá trị DẤU THỜI GIAN từ múi giờ hiện tại sang UTC để lưu trữ và ngược lại từ UTC sang múi giờ hiện tại để truy xuất. (Điều này không xảy ra đối với các loại khác như DATETIME. ) Theo mặc định, múi giờ hiện tại cho mỗi kết nối là thời gian của máy chủ.

Múi giờ phiên MySQL là gì?

MySQL cung cấp cho bạn phiên @@. biến time_zone, lưu trữ múi giờ hiện tại của phiên hiện đang chạy . Mỗi phiên kết nối với Máy chủ MySQL được chỉ định cài đặt múi giờ phiên của nó. Theo mặc định, giá trị này được đặt thành giá trị múi giờ toàn cầu.