資料庫程式設計 MySQL 常見異常和解決辦法

2021-10-01 12:33:00 字數 1481 閱讀 7096

mysqlslap 可以用於模擬伺服器的負載,並輸出計時資訊。測試時,可以指定併發連線數,可以指定 sql 語句。如果沒有指定 sql 語句,mysqlslap 會自動生成查詢 schema 的 select 語句。但是可能會報錯

mysqlslap: unknown variable 'default-character-set=utf8'
修改 mysql的安裝目錄下的配置檔案my.ini ,把[client]下面的這行注釋掉:

#default-character-set=utf8
即可解決,可以繼續效能測試。

對於group by聚合操作,如果在select中的列,沒有在group by**現,那麼這個sql是不合法的,因為列不在group by從句中,也就是說查出來的列必須在group by後面出現否則就會報錯,或者這個字段出現在聚合函式裡面。

解決辦法一(臨時改變):

sql命令列輸入:

set @@global.sql_mode='';

set sql_mode='strict_trans_tables,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution';

預設關掉only_full_group_by,但是重啟mysql服務不能生效。

解決辦法二(永久改變):

改my.ini 配置,在 [mysqld]和[mysql]下新增

sql_mode ='strict_trans_tables,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution';
即可永久改變,重啟mysql服務也可以正常執行。

可參考在windows等平台新增mysql未系統服務時需要執行mysqld --initialize命令,有時候會把偶從,如下:

2021-08

-10t07:13:

28.841024z 0

[error]

--initialize specified but the data directory has files in it. aborting.

2021-08

-10t07:13:

28.842081z 0

[error] aborting

可以看到,這是因為data目錄中有檔案,這裡的data目錄即為mysql配置的用於儲存資料的目錄,在mysql的安裝目錄下的配置檔案my.ini中定義了該路徑,例如datadir=***/mysql5.7.26/data/,可以檢視該路徑下是否有檔案,如有檔案可以將其備份到其他目錄,再重新初始化,即可成功執行。

mysql資料庫異常 MySQL資料庫的異常處理

對於mysql的異常處理,本人不常用。不過我覺得還是有寫下來的必要。標準格式 declare handler type handler for condition value statement handler type continue exit undo 暫時不支援 condition valu...

MySQL資料庫常見操作

1.為所有使用者授權 grant all privileges on to 使用者名稱 identified by 密碼 2.資料庫基礎操作 1 登陸mysql資料庫 mysql u root p,回車後再輸入密碼即可 2 檢視所有資料庫 show databases 3 刪除某個資料庫 drop ...

MySQL 資料庫常見操作

建庫語句 create database plms2 default charset utf8 建表語句 帶引號不是英文 中文引號 drop table if exists zd test create table zd test rec id int 11 not null comment 行標識...