mysql修改host的方法:1、透過「sudo service mysql stop」停掉mysql服務;2、以安全模式啟動mysql,然後重設root密碼;3、透過「update user set Host=' %' where User='hive';”語句修改host即可。
本教學操作環境:Windows10系統、MySQL5.7版本、Dell G3電腦。
mysql 怎麼修改host?
快速修改MySQL使用者的host屬性:
當你遠端登入MySQL時,使用的帳號要有特殊需求。
預設的帳號的host屬性都是localhost,意思是這個帳號只能本地使用,如果要使用某個帳號來遠端登錄,必須將帳號的host屬性值變更成%。
執行的sql語句如下:
update user set host = '%' where user = 'root';
補充:mysql 修改root密碼修改帳號登入host
##1.忘了root密碼遠端伺服器起了一個mysql服務,裡面有個hive帳戶,在遠端伺服器能透過命令列用mysql -hlocalhost -uxxx -pxxx的方式登錄,但是用navicat客戶端,怎麼也登入不上,而且navicat顯示的還是我自己機器的ip位址。 初步懷疑,是mysql裡的A帳號密碼沒有設定正確。於是需要用root帳號對hive帳號重新進行設定。 坑爹的是,mysql也不是我布的。而且測試環境,也不知道該找誰要密碼。那就使出終極武器:修改root密碼。 2.重設mysql root密碼。 首先註意的一點:mysql的root帳號與伺服器的root帳號不是同一個概念,不要混為一談。 首先,停掉mysql服務:sudo service mysql stop如果有伺服器的root帳戶,自然就不用sudo了,下面所有的操作也是一樣。上面的命令適用於Ubuntu和Debian。 CentOS、Fedora和RHEL下使用mysqld替換mysql。下面所有的操作也是一樣。 然後,再以安全模式啟動mysql:
sudo mysqld_safe --skip-grant-tables --skip-networking &這樣我們就可以直接用root登錄,而無需密碼:
mysql -u root
mysql> use mysql; mysql> update user set password=PASSWORD("mynewpassword") where User='root'; mysql> flush privileges;重設完畢以後,就退出mysql。然後再將mysql服務啟動:
sudo service mysql restart接下來,就是用root帳號登入了:
mysql -u root -pmynewpassword3.修改A帳號相關權限用root帳號登入mysql以後,接下來看看A帳號的相關資訊:
mysql> use mysql; Database changed mysql> select User, Host from user where User='hive'; +------+--------------+ | User | Host | +------+--------------+ | hive | 127.0.0.1 | +------+--------------+這點就明白了。尼瑪難怪navicat客戶端登不了。 hive帳號的host只有127.0.0.1,自然只能在本機登入了。
mysql> update user set Host='%' where User='hive';將hive帳戶設定為所有機器均可登錄,然後再刷新一下權限:
mysql> flush privileges;再查看一把:
mysql> select User, Host from user where User='hive'; +------+------+ | User | Host | +------+------+ | hive | % | +------+------+至此為止,大功告成! 以上為個人經驗,希望能給大家一個參考。如有錯誤或未考慮完全的地方,望不吝賜教。 推薦學習:《
MySQL影片教學》
以上是mysql 怎麼修改host的詳細內容。更多資訊請關注PHP中文網其他相關文章!