Mysql grant all privileges on ...不生效解決方案

來源:互聯網
上載者:User

標籤:img   方法   str   info   使用者名稱   mys   c中   所有許可權   select   

情景:我在mac的終端下用ssh操作虛擬機器中的centos,mysql運行在centos中

mysql -u root -p

用root登入mysql後

使用

grant all privileges on db1.* to [email protected]‘%‘ identified by ‘user1‘ with grant option;

意為:給所有主機登入(%指任意主機)的使用者名稱為user1(密碼為user1,identified by後接密碼) 授予操作資料庫db1下所有資料表(db1.*指db1所有資料表)的所有許可權。

此時

select * from mysql.user \G;

發現user1的許可權還是N,即上面授予操作無效,為什麼呢?

 

原因:

這時在mysql下root登入,執行show grants;顯示

grant all privileges on *.* to ‘root‘@‘localhost‘ xxxxxxxxxxxx

對於本地主機下登入的root使用者才有所有權,而這時我是在mac的終端下ssh操作虛擬機器中的mysql,這時的root使用者當然沒有所有權。

解決方案:回到虛擬機器中登入mysql的root操作。

在虛擬機器mysql中添加:

grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘root的密碼‘ with grant option;

添加後再用

select * mysql.user \G;

發現多了一行,內容是使用者為root,主機為%,擁有所有許可權。

 

這時就可以回到mac在mysql登入root操作了。

如果這時還不行,可以用以下方法:

在mac中開啟mysqlworkbench(需要另外下載),用mysql root使用者遠程登入虛擬機器的mysql。

我這時虛擬機器的地址是192.168.20.101(確保虛擬機器的防火牆關了或者開啟了mysql的連接埠3306)。

 

登入後在左上方選擇Users and Privileges,可以添加使用者,並在Administration Roles選卡添加使用者權限。

 

Mysql grant all privileges on ...不生效解決方案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.