1.首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。
因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的
狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對
外的埠封閉,並且停止apache以及所有的使用者程序的方法實現伺服器的準安全
狀態。最安全的狀態是到伺服器的console上面操作,並且拔掉網線。
2.修改mysql的登入設定:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
儲存並且退出vi。
3.重新啟動mysqld
# /etc/init.d/mysqld restart 這個很重要
stopping mysql: [ ok ]
starting mysql: [ ok ]
4.登入並修改mysql的root密碼
但是設定密碼的時候,輸入update mysql.user set password=password('123456') where user='root';發現password欄位不存在,忽然覺得怎麼會有這種操作。。。。。
5、後面執行執行update mysql.user set authentication_string=password('123456') where user='root';
6、然後退出mysql,執行systemctl restart mysqld.service重啟資料庫,再次登入,終於解決問題!
7.將mysql的登入設定修改回來
# vi /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
儲存並且退出vi。
8.重新啟動mysqld
# /etc/init.d/mysqld restart 或者/etc/init.d/mysql restart
stopping mysql: [ ok ]
starting mysql: [ ok ]
mysql密碼忘記或者登陸mysql報1045問題
1 把mysql的服務停掉。windows r services.msc,彈出服務的介面,找到mysql的服務。不同版本的mysql服務名稱不一樣,我的是叫mysql57,右鍵停止。2 進入mysql的安裝資料夾,下面有個my.ini的檔案,我電腦中這個檔案的位置在c programdata mys...
《linux學習》之新建使用者無法登陸問題
問題描述 說明 我用的是ubuntu系統16.04版本。我新建了乙個使用者,登陸時閃退一下,又回到登陸介面,一開始以為是密碼錯誤,實際不是。整個過程是這樣的 首先,本來我有乙個使用者叫做,zxx,home資料夾裡也存在zxx這個資料夾,如圖所示 我現在想再新建乙個使用者叫做myredhat,sudo...
使用者以sysdba許可權無法登陸
資料庫所有具有dba許可權的使用者都不能以sysdba登入,提示說許可權不夠 首先dba是乙個角色,而sysdba是乙個許可權。dba角色包含了資料庫中絕大多數的許可權,但是不包括sysdba許可權。具有sysdba許可權的使用者可以開啟或者關閉資料庫。當資料庫沒有開啟時,任何儲存在資料庫中的資料都...