查看時間相關語句
1.獲取當前數據庫時間
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2020-02-15 11:41:04 |
+---------------------+
2.查看時區
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | SYSTEM |
+------------------+--------+
- system_time_zone:表示當前操作系統使用的時區。
- time_zone:表示當前數據庫使用的時區。SYSTEM表示採用的是操作系統的時區。也就是說,如果在連接時沒有設置時區信息,就會採用這個時區配置。
修改時區
1.mysql控制檯修改
注:使用"Asia/Shanghai"需要數據庫導入timezone的表,後面會介紹。
# 僅修改當前會話的時區,停止會話失效
set time_zone = '+8:00';
# 修改全局的時區配置
set global time_zone = '+8:00';
#或者set global time_zone ="Asia/Shanghai";
#刷新MySQL的系統權限相關表
flush privileges;
2.修改配置文件
也可以通過修改配置文件來實現,不過需要重啓服務。
windows:C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
linux:/etc/my.cnf
#[mysqld]下添加下面屬性,然後重啓mysql
default_time_zone = "+8:00"
#或者default-time-zone="Asia/Shanghai"
4.問題
個人解決過程中遇到的問題總結!
4.1"Asia/Shanghai"
標準時+8在某些情況會遇上奇奇怪怪的問題,推薦設置爲亞洲/上海時區。但是一般安裝的數據庫是沒有timezone的表的,設置的時候會出現Unknown or incorrect time zone: 'Asia/Shanghai’錯誤。
mysql> set global time_zone='Asia/Shanghai';
1298 - Unknown or incorrect time zone: 'Asia/Shanghai'
這時需要我們去官網下載對應版本的timezone表。MySQL下載posix標準表!
mysql5.6及以下版本下載上面的。mysql5.7以上版本下載下面的。
文件解壓後會得到一個sql文件,導入到mysql
use mysql;
source 路徑\timezone_posix.sql
4.2Windows版MySQL
mysql重啓指令
net stop mysql
net start mysql
mysql環境
添加安裝mysql的bin路徑到系統環境變量Path
C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql服務名無效
C:\Users\sasu005>net stop mysql
服務名無效。
在系統-服務找到服務名爲:MySQL80
mysql服務拒絕訪問
C:\Users\sasu005>net stop MySQL80
發生系統錯誤 5。
拒絕訪問。
使用管理員權限打開命令行
mysql字符編碼設置
修改配置文件,然後重啓
# [client] 下添加
default-character-set=utf8
# [mysqld] 下添加
character-set-server=utf8