在一台服务器上,当我运行:

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2009-05-30 16:54:29 |
+---------------------+
1 row in set (0.00 sec)

在另一台服务器上:

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2009-05-30 20:01:43 |
+---------------------+
1 row in set (0.00 sec)

当前回答

要在MariaDB中设置标准时区,必须转到50-server.cnf文件。

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

然后您可以在mysqld部分中输入以下条目。

default-time-zone='+01:00'

例子:

#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]

#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

### Default timezone ###
default-time-zone='+01:00'

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.

必须通过配置文件进行更改,否则MariaDB服务器重启后将重置mysql表!

其他回答

简单地在你的MySQL服务器上运行:

SET GLOBAL time_zone = '+8:00';

你所在的时区是+8:00。

如果您正在使用MySql Workbench,您可以通过打开管理员视图并选择Advanced选项卡来设置这一点。顶部部分是“Localization”,第一个复选框应该是“default-time-zone”。选中复选框,然后输入您想要的时区,重新启动服务器,您应该可以开始了。

这个工作为我在印度的一个位置:

SET GLOBAL time_zone = "Asia/Calcutta";
SET time_zone = "+05:30";
SET @@session.time_zone = "+05:30";

如果有人正在使用GoDaddy共享主机,你可以尝试以下解决方案,为我工作。

当启动DB连接时,在我的PDO对象中设置time_zone命令,例如:

$pdo = new PDO($dsn, $user, $pass, $opt);
$pdo->exec("SET time_zone='+05:30';");

其中“+05:30”是印度时区。您可以根据需要更改。

在那之后;所有与日期和时间相关的MySQL进程都设置了所需的时区。

来源:https://in.godaddy.com/community/cPanel-Hosting/How-to-change-TimeZone-for-MySqL/td-p/31861

这是一个10年前的问题,但不管怎样,这里有一个对我有用的方法。我使用MySQL 8.0与Hibernate 5和SpringBoot 4。

我试过上面的答案,但对我不起作用,对我有效的是:

db.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=Europe/Warsaw

如果这对你有帮助,别忘了给它投票