對於初學者小夥伴來說,我們安裝mysql到本機服務,再用一些圖形化工具連結。
一般情況下我們都能連結成功;但是、在模擬真實的環境中我們的資料庫不可能直接安裝在本機上,大多數是在雲端伺服器上,這種情況我們的mysql也不是路邊大巴招手即停的,你還是要約的(先買票!);也就是你的帳號不允許從遠端登陸,只能在localhost登錄,怎麼辦?
讓我們先登入上mysql
show databases;
#顯示所有資料庫
use mysql;
#使用mysql資料庫
# show tables;
#找到這個user表
select * from user;#查看該表所有資訊
1、直接修改
update user set host = '%' where user = 'root';#更新root用户的主机访问为任何值2、加指定使用者以及指定權限
insert into user(host,user) values('ip','user');#添加一个用户user地址ip的无权限用户(可以插入新增用户信息时,附带把权限也查进去,执行时会有告警,因为表中有约束,不用深究)
新增成功,但是沒有權限。 授權
直接授權(mysql8.0版本會報錯,語法分割)
grant all privileges on *.* to 'user'@'ip' identified by '123456';#授权给主机为ip的user用户开放,所有数据库及对应表的所有权限,并且密码设置为123456(快速简洁)
直接授權(改-針對新版本)
#
create user ‘user'@‘ip' identified by ‘123456';#创建一个主机地址是ip登录密码是123456的user用户 grant all privileges on *.* to 'user'@'ip';#链接上一步,给他所有权限
指定授權
create user ‘mysql'@‘%' identified by ‘123456';#创建一个主机地址可以时任何地址的登录密码是123456的mysql用户(随时随地,在任何地方的进行登录操作) grant select,create on myemployees.* to 'mysql'@'%';#设置mysql用户只用myemployees库的查,创建权限
flush privilege;#刷新下数据权限針對mysql8.0版本以上操作時會報錯無法連結;####### 8.0版本因為密碼規則和語法規則的改變,所以要再次設定#########在相同情況下依序執行以下語句######
alter user ‘mysql'@‘%' identified by ‘123456' passwore expire never;#修改加密规则 alter user ‘mysql'@‘%' identified by ‘123456' mysql_native_password by '123456';#再次重置密码 flush privilege;#刷新下数据权限########### #######
以上是MySQL資料庫遠端存取權限如何設定的詳細內容。更多資訊請關注PHP中文網其他相關文章!