數據庫報錯處理方式 諸多

1 net start mysql 發生系統錯誤2 解決辦法

 

C:\Windows\system32>cd ../..  

1.    

2.   C:\>cd Program Files\MySQL\MySQL Server 5.6\bin  

3.    

4.   C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --remove  

5.  Service successfully removed.  

6.     

7.  C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --install  

8.   Service successfully installed.  

9.    

10.  C:\Program Files\MySQL\MySQL Server 5.6\bin>net start mysql  

11. MySQL 服務正在啓動 .  

12.  MySQL 服務已經啓動成功。  

 

2要是沒設密碼~

登錄mysql之後,設置root密碼

>set password for root@localhost =password('YourPassword');

password字段改成了

authentication_string
update mysql.user set authentication_string=password('root') where user='root' 

 

 

3解決mysql“Access denied for user 'root'@'localhost'

# mysql-uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)

使用網上介紹的方法修改root用戶的密碼:
# mysqladmin -uroot -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

現在終於被我找到了解決方法,如下(請先測試方法三,謝謝!):
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <
輸入新設的密碼newpassword>

mysql>

 

一、MySQL修改密碼方法總結

首先要說明一點的是:一般情況下,修改MySQL密碼是需要有mysql裏的root權限的,這樣一般用戶是無法更改密碼的,除非請求管理員幫助修改。

  方法一

  使用phpMyAdmin

(圖形化管理MySql數據庫的工具),這是最簡單的,直接用SQL語句修改mysql數據庫庫的user表,不過別忘了使用PASSWORD函數,插入用戶用Insert命令,修改用戶用Update命令,刪除用Delete命令。在本節後面有數據表user字段的詳細介紹。

  方法二

  使用mysqladmin。輸入

mysqladmin-u root -p oldpassword newpasswd

執行這個命令後,需要輸入root的原密碼,這樣root的密碼將改爲newpasswd。同樣,把命令裏的root改爲你的用戶名,你就可以改你自己的密碼了。

  當然如果你的mysqladmin連接不上mysql

server,或者你沒有辦法執行mysqladmin,那麼這種方法就是無效的,而且mysqladmin無法把密碼清空。

  下面的方法都在mysql提示符下使用,且必須有mysqlroot權限:

  方法三

mysql>INSERT INTO mysql.user (Host,User,Password) VALUES

('%','system',PASSWORD('manager'));

mysql>FLUSH PRIVILEGES

  確切地說這是在增加一個用戶,用戶名爲system,密碼爲manager。注意要使用PASSWORD函數,然後還要使用FLUSH

PRIVILEGES來執行確認。

  方法四

  和方法三一樣,只是使用了REPLACE語句

mysql>REPLACE INTO mysql.user (Host,User,Password)

VALUES('%','system',PASSWORD('manager'));

mysql>FLUSH PRIVILEGES

  方法五

  使用SETPASSWORD語句

mysql>SET PASSWORD FOR system@"%" = PASSWORD('manager');

  你也必須使用PASSWORD()函數,但是不需要使用FLUSHPRIVILEGES來執行確認。

方法六

  使用GRANT... IDENTIFIED BY語句,來進行授權。

mysql>GRANT USAGE ON *.* TO system@"%" IDENTIFIED BY 'manager';

  這裏PASSWORD()函數是不必要的,也不需要使用FLUSHPRIVILEGES來執行確認。

  注:PASSWORD()函數作用是爲口令字加密,在程序中MySql自動解釋。

  二、MySql中訪問限制的設置方法

  我們採用兩種方法來設置用戶。

  進入到Mysql執行目錄下(通常是c:/mysql/bin)。輸入mysqld-shareware.exe,輸入mysql

--user=rootmysql ,不然不能添加新用戶。進入到mysql>提示符下進行操作。

  假設我們要建立一個超級用戶,用戶名爲system,用戶口令爲manager


  方法一

  用Grant 命令授權,輸入的代碼如下:

mysql>GRANTALL PRIVILEGES ON *.* TO system@localhost IDENTIFIED BY

'manager'WITH GRANT OPTION;

  應顯示:QueryOK, 0 rows affected (0.38 sec)

方法二

  對用戶的每一項權限進行設置:

mysql>INSERTINTO user

VALUES('localhost','system',PASSWORD('manager'),

'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

  對於3.22.34版本的MySQL,這裏共14"Y",其相應的權限如下(按字段順序排列):

  權限表列名稱相應解釋使用範圍

selectSelect_priv 只有在真正從一個表中檢索時才需要select權限

insertInsert_priv 允許您把新行插入到一個存在的表中

updateUpdate_priv 允許你用新值更新現存表中行的列

deleteDelete_priv 允許你刪除滿足條件的行

createCreate_priv 允許你創建新的數據庫和表數據庫、表或索引

dropDrop_priv 拋棄(刪除)現存的數據庫和表數據庫或表

       reload Reload_priv 允許您告訴服務器再讀入授權表服務器管理

shutdownShutdown_priv 可能被濫用(通過終止服務器拒絕爲其他用戶服務)服務器管理

processProcess_priv 允許您察看當前執行的查詢的普通文本,包括設定或改變口令查詢服務器管理

fileFile_priv 權限可以被濫用在服務器上讀取任何可讀的文件到數據庫表服務器上的文件存取

grantGrant_priv 允許你把你自己擁有的那些權限授給其他的用戶數據庫或表

referencesReferences_priv 允許你打開和關閉記錄文件數據庫或表

indexIndex_priv 允許你創建或拋棄(刪除)索引

       alter Alter_priv 允許您改變表格,可以用於通過重新命名錶來推翻權限系統

  如果創建用戶時只有selectinsertupdatedelete權限,則允許用戶只能在一個數據庫現有的表上實施操作.

  下面就可以創建我們要用到的數據庫了,我們直接輸入.例如:我們要創建數據庫名爲XinXiKu,可用如下代碼:

mysql>createdatabase XinXiKu;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章