本文更新于2020-05-04,使用MySQL 5.7,作業系統為Deepin 15.4,
目錄
- 忘記roo密碼
- 修改密碼
- MyISAM存盤引擎的表損壞
- 資料目錄磁盤空間不足的問題
- mysql.sock丟失后如何連接資料庫
- 訪問內網資料庫
忘記roo密碼
- 使用
mysqld_safe --skip-grant-tables跳過權限系統啟動服務, - 不使用賬號密碼,直接使用
mysql登錄, - 使用
UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE user = 'root' [AND host = 'host'],不能使用SET PASSWORD,因為--skip-grant-tables會導致其失敗, - 使用
FLUSH PRIVILEGES或重啟服務后,新密碼生效,
修改密碼
修改密碼有以下幾種辦法:
- `mysqladmin password 'password'
SET PASSWORD [FOR user@host] = PASSWORD('password')GRANT USAGE ON *.* TO user@host IDENTIFIED BY [PASSWORD] 'password'UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE Host = 'host' AND User = 'user'; FLUSH PRIVILEGES;
MyISAM存盤引擎的表損壞
一張損壞的表的癥狀通常是查詢意外中斷并且能看到下述錯誤:
- “tbl_name.frm”被鎖定不能更改,
- 不能找到檔案“tbl_name.MYI”(Errcode: nnn),
- 檔案意外結束,
- 記錄檔案被損壞,
- 從表處理器得到錯誤nnn,
解決方法有:
- 使用工具:
myisamchk -r tablename或myisamchk -o tablename, - 使用陳述句:
CHECK TABLE tablename和REPAIR TABLE tablename,
資料目錄磁盤空間不足的問題
對于MyISAM存盤引擎的表,可將表的資料檔案和索引檔案mv到磁盤空間充足的磁區上,然后在原檔案處創建符號鏈接,mv前必須停機或將表鎖定,
對于InnoDB存盤引擎的表,可以增加一個新的資料檔案,具體實作方法是在引數innodb_data_file_path中增加此檔案的絕對路徑,如:innodb_data_file_path=/home/ibdata1:2000M;/home1/ibdata2:2000M:autoextend,
mysql.sock丟失后如何連接資料庫
如果指定localhost作為主機名,則會默認使用UNIX套接字檔案連接,而不是TCP/IP,通過--protocol=tcp|socket|pipe|memory選項,可以顯示地指定連接協議,
訪問內網資料庫
通過中轉服務器,使用ssh管道,或MySQL Proxy工具,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/3152.html
標籤:MySQL
