Auf*_*ind 115 mysql connection grant
如果我SHOW GRANTS在我的mysql数据库中,我得到
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'
IDENTIFIED BY PASSWORD 'some_characters'
WITH GRANT OPTION
Run Code Online (Sandbox Code Playgroud)
如果我没有弄错,root@localhost意味着用户root只能从中访问服务器localhost.如何告诉MySQL授予root从其他所有计算机(在同一网络中)访问此mysql服务器的权限?
Mic*_*ski 140
这将使用来自任何计算机的相同密码授予root访问权限*.example.com:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%.example.com'
IDENTIFIED BY 'some_characters'
WITH GRANT OPTION;
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
如果名称解析不起作用,您还可以通过IP或子网授予访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%'
IDENTIFIED BY 'some_characters'
WITH GRANT OPTION;
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
mos*_*eri 92
尝试:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Pa55w0rd' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)
Kha*_*yar 43
您需要采取一些步骤来确保从外部访问第一个mysql然后root用户:
禁用skip-networking的my.cnf(即:/etc/mysql/my.cnf)
检查bind-addressin的值my.cnf,如果设置为127.0.0.1,则可以将其更改0.0.0.0为允许从所有IP或您要连接的任何IP进行访问.
授权从任何ip远程访问root用户(或指定你的ip而不是%)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
IDENTIFIED BY 'your_root_password'
WITH GRANT OPTION;
FLUSH PRIVILEGES;`
Run Code Online (Sandbox Code Playgroud)重启mysql服务:
sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)Was*_* A. 32
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
IDENTIFIED BY 'YOUR_PASS'
WITH GRANT OPTION;
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
*.* = DB.TABLE 您可以将用户限制为特定数据库和特定表.
'root'@'%'您可以使用您创建的任何用户更改root,%是允许所有IP.您也可以通过更改%.168.1.1等来限制它.
小智 8
那些SQL授予其他人共享的工作.如果您仍然无法访问数据库,则可能只有端口的防火墙限制.这取决于您的服务器类型(以及介于两者之间的任何路由器)如何打开连接.打开TCP端口3306入站,并为外部计算机(所有/子网/单个IP /等)提供类似的访问规则.
在 mysql 8 及更高版本中,您无法通过授予权限来添加用户。这意味着这个查询:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
IDENTIFIED BY 'type-root-password-here'
WITH GRANT OPTION;
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
mysql 将返回此错误:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“IDENTIFIED BY 'written password”附近使用的正确语法
这意味着您没有 % 域的根用户。所以你需要先插入用户,然后像这样授予权限:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'your password';
Query OK, 0 rows affected (0.11 sec)
mysql> GRANT ALL ON *.* TO 'root'@'%';
Query OK, 0 rows affected (0.15 sec)
mysql> FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
不要忘记用您的特定密码替换密码。
小智 5
两步:
create user 'root'@'%' identified by 'some_characters';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
IDENTIFIED BY PASSWORD 'some_characters'
WITH GRANT OPTION
Run Code Online (Sandbox Code Playgroud)
vim /etc/my.cnf
Run Code Online (Sandbox Code Playgroud)
添加以下内容:
bind-address=0.0.0.0
Run Code Online (Sandbox Code Playgroud)
重新启动服务器,连接到它应该不会有任何问题。
| 归档时间: |
|
| 查看次数: |
398495 次 |
| 最近记录: |