標籤:錯誤 增刪改查 omd sql語句 size ash etc 不同 提示
轉載請註明:仰望大牛的小清新 http://www.cnblogs.com/luruiyuan/
這個文章的主要目的是總結自己的作死經曆,以備尋找
1. Ubuntu MySQL 服務的啟動/停止/重啟:
# 啟動 MySQLsudo service mysql start# 重啟 MySQLsudo service mysql restart# 停止 MySQLsudo service mysql stop
2. 匯入/插入資料時毫無理由的失敗
這通常是 Linux 系統下檔案許可權不夠導致的,常發生於初次安裝 MySQL 時。可以在terminal中這樣解決:
# 修改檔案夾的操作許可權# 該檔案夾有涉及資料庫 schema 的重要檔案,如 mysql_sys_schema.sql# 如果沒有操作這些檔案的許可權,則無法插入/匯入資料sudo chomd -R 777 /usr/share/mysql# 重啟 MySQL 服務sudo service mysqld restart
3. mysql 重啟/啟動 異常:
mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
這個錯誤有很多原因,通常我們有幾種不同的辦法來排查:
1. 根據提示,在 root 許可權下輸入 systemctl status mysql.service 以及 journalctl -xe 來查看日誌錯誤資訊
2. 如果上述日誌不能明確指出問題,還可以在 terminal 中輸入 mysql --help
對於我的這次錯誤而言,是我在 /etc/mysql/my.cnf 中添加了一些錯誤的配置,使用 mysql --help 時提示出了錯誤的位置(精確到了行),因此問題得以解決。
4. MySQL Linux下的設定檔及其位置
眾所周知,windows下MySQL的設定檔是 my.ini, 而 Ubuntu 下的設定檔是 my.cnf。經過尋找,可以發現預設時安裝在了 /etc/mysql/my.cnf 路徑下
5. 匯入資料時報告許可權錯誤:
Error code 13: permission denied
這個錯誤目前僅出現於 Linux上,在我的 Ubuntu 上有這個錯誤,Windows上則從未出現:
解決辦法:
通常 MySQL 5.7.6 以上版本都預設運行在指定 secure_file_priv 的情況下,因此我只說這個情況,其他類推:
在 root 許可權下,找到 secure_file_priv 指定的路徑,將該檔案夾的使用權限設定為可以增刪改查:
例如,我這裡路徑為:
/var/lib/mysql-files/
可在資料庫中通過
show variables like ‘secure_file_priv‘;
來進行查看
因此在 root 許可權下輸入下列命令修改即可:
chmod -R 777 /var/lib/mysql-files/
6. 匯入 csv 檔案時出現 0 rows affected 的錯誤:
這個問題在我這裡是由於 Windows 和 Linux 的分行符號不一致導致的:
Windows 中分行符號為 ‘\r\n‘,但是 Linux 中為 ‘\n‘
由於切換到 Ubuntu 不就,因此我使用了 Windows 的 ‘\r\n‘ ,結果導致資料匯入時提示 0 rows affected.
SQL語句如下:
# Windows 中load data infile ‘..\\uploads\\test.csv‘into table sampleTableNamefields terminated by ‘,‘ optionally enclosed by ‘"‘ escaped by ‘,‘ lines terminated by ‘\r\n‘ ignore 1 lines; # Linux 中load data infile ‘..\\uploads\\test.csv‘into table sampleTableNamefields terminated by ‘,‘ optionally enclosed by ‘"‘ escaped by ‘,‘ lines terminated by ‘\n‘ ignore 1 lines;
mysql-錯誤備查