---
# System prepended metadata

title: MySql 雜記
tags: [mysql]

---

---
GA: UA-81246538-4
---
# MySql 雜記

## 指令 keywords
顯示資料庫:
show databases;

切換當前使用的資料庫:
use < database name >;

建立資料庫:
create database < database name >;

刪除資料庫:
drop database < database name >;

刪除資料表:
drop table 資 database name >.< table name >;

刪除資料:  刪資料不刪表
truncate table < table name >;

顯示當前資料庫中的表:
show tables;

查詢表中的所有資料:
select * from < table name >;

退出:
exit;

[w3schooks](https://www.w3schools.com/sql/sql_ref_keywords.asp)




## win10 無法啟動 Mysql 服務
### 無法啟動1

1. win+r 輸入 services.msc 進入服務 找到 mysql 後啟動 -> 失敗
2. net start mysql -> 失敗
3. 以系統管理員身分開啟 cmd 至 mysql server 的 bin 資料夾下
4. mysqld --initialize 初始化  sql -> 成功 

![](https://i.imgur.com/OtNPG7E.png)
![](https://i.imgur.com/r3ucaxv.png)

### 無法啟動2
1. 修改 hibernate connect  異常時，不知動到什麼設定，使得 mysql 無法啟動
2. 前述方法無法啟動
3. 以系統管理員身分開啟 cmd 至 mysql server 的 bin 資料夾下
4. mysqld -install 

![](https://i.imgur.com/NemzsPV.png)
![](https://i.imgur.com/ADweFYu.png)



## Mysql 8.0 connect 異常

https://search.maven.org/ 找 dependency 新增到pom.xml 後進行單筆資料輸入測試時發生異常訊息。

```
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
```

順著異常訊息修改後無法改善參考資料，再修改時區設定後即可

```
<properties>
    // add timezone
    <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/bookstoredb?serverTimezone=CST"/>
    <property name="javax.persistence.jdbc.user" value="root"/>
    <property name="javax.persistence.jdbc.password" value="password"/>
    // replace  `com.mysql.jdbc.Driver' with `com.mysql.cj.jdbc.Driver`
    <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
</properties>
```
[參考](https://blog.csdn.net/superdangbo/article/details/78732700)

#### 最最後還是設定回 mysql 5.7 版本，資料多正確性高。
pom.xml 內容為
```
<dependencies>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.12.Final</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.46</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
    <scope>compile</scope>
</dependency>
</dependencies>
```

## 語系修正

![](https://i.imgur.com/m7tqI0q.png)

1. mysql之原設定檔作備份。
`#mv /etc/my.cnf   /etc/my.cnf.bak`
2. 設定一個新的mysql 之設定檔。
`#vim /etc/my.cnf`
3. 修改 MySQL 環境設定
    * 之後建立的資料庫都使用編碼 UTF8
```
[mysqld]
default-character-set=utf8
default-collation=utf8_unicode_ci
character-set-server=utf8
collation-server=utf8_unicode_ci 
 
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
#重新啟動MySQL讓設定生效
$ service mysqld restart
```




[mysql 官方文件](https://dev.mysql.com/doc/refman/5.7/en/charset-applications.html)


###### tags: `mysql`