精华内容
下载资源
问答
  • mysql> use mysql; Database changed mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+---...
  • 缺省状态下,mysql的用户没有远程访问权限。 下面介绍两种方法,解决这一问题。 1、改表法 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” ...
  • Linux mysql开启远程访问权限

    千次阅读 2020-03-13 19:31:47
    配置mysql用户访问权限 未配置用户远程访问权限报错: 5.1 以管理员(root)身份连接mysql数据库 mysql -u root -p 5.2 选择mysql库,用户信息都存在这个库的user表中 若未进行这一步操作,则之后操作表都需要写成...

    1. 添加服务器安全组规则(3306)

    添加安全组规则

    2. 添加服务器防火墙安全端口(3306)(以centos为例)

    防火墙端口未放行报错:
    防火墙端口未放行报错

    2.1 查看firewall防火墙状态:
    systemctl status firewalld 
    

    防火墙状态

    firewall-cmd --state
    

    防火墙状态

    2.2 启动firewall防火墙
    systemctl start  firewalld
    
    1. 设置开机启用防火墙
    systemctl enable firewalld.service
    
    1. 设置开机不启动防火墙
    systemctl disable firewalld.service
    
    2.3 关闭firewall防火墙
    systemctl disable firewalld
    
    2.4 查看firewall防火墙开放的端口

    (1)查看防火墙的所有信息

    firewall-cmd --list-all
    

    (2)查看防火墙所有开放端口信息

    firewall-cmd --list-ports
    

    (3)查看某个端口信息(yes表示已放行,no表示未放行

    firewall-cmd --zone=public --query-port=3306/tcp
    

    查看3306端口信息

    说明:
    --zone 作用域
    --query-port=3306/tcp 查询端口,格式为:端口/通讯协议

    2.5 放行firewall防火墙端口

    (1)放行某个端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    

    成功开放3306端口

    说明:
    --zone 作用域
    --add-port=3306/tcp 添加端口,格式为:端口/通讯协议
    --permanent 永久生效,没有此参数重启后失效

    (2)放行一个端口区间

    firewall-cmd --zone=public --add-port=3306-8888/tcp --permanent
    

    删除放行端口

    firewall-cmd --zone=public --remove-port=3306/tcp --permanent
    
    2.6 重新加载firewall(将修改应用于防火墙)
    firewall-cmd --reload
    

    重新加载firewall

    3. 添加服务器防火墙安全端口(3306)(以ubuntu为例)

    3.1 查看UFW防火墙状态以及本机放行端口
    ufw status或sudo ufw status
    

    查看某一端口是否被监听

    netstat -an | grep 端口号
    
    3.2 打开UFW防火墙
    sudo ufw enable
    
    3.3 关闭UFW防火墙
    sudo ufw disable
    
    3.4 UFW防火墙放行某个端口
    ufw allow 3306
    
    1. 拒绝放行某个端口
    ufw deny 端口号
    
    1. 删除某个放行/拒绝放行端口的规则
    ufw delete allow/deny 端口号
    
    3.5 UFW防火墙重启
    sudo ufw reload
    

    4. 查看并编辑mysql的配置文件

    4.1 查询mysql配置文件的位置(my.cnf)
    mysql --help|grep my.cnf
    

    whereis my.cnf
    
    4.2 编辑my.cnf

    一般位置为/etc/my.cnf,准确位置以第一步查询到的为准

    vi /etc/my.cnf
    

    点击键盘的i,进入插入模式,可以编辑该文件。
    (1)若[mysqld]节中有一行bind-address=127.0.0.1则表示仅在本地环路地址127.0.0.1的3306端口监听,将其注释即可。

    #bind-address=127.0.0.1
    

    (2)在[mysqld]节中增加下面一行:(可选,若配置完成报错,则可进行这一步)
    Mysql默认在本地环路地址127.0.0.1的3306端口监听,要使用外网访问需要修改配置文件。

    bind-address=0.0.0.0 #全部地址或者指定的ip地址
    

    (3)退出并保存配置
    点击键盘的Esc键,并输入:wq,退出并保存该文件。

    4.3 重启mysqld服务
    service mysqld restart
    

    5. 配置mysql用户访问权限

    未配置用户远程访问权限报错:
    未配置用户远程访问

    5.1 以管理员(root)身份连接mysql数据库
    mysql -u root -p
    
    5.2 选择mysql库,用户信息都存在这个库的user表中

    若未进行这一步操作,则之后操作表都需要写成mysql.user,否则会报错:ERROR 1046 (3D000): No database selected

    use mysql;
    
    5.3 查询用户列表
    select user, host, authentication_string, plugin from User;
    

    或(若没有选择mysql库)

    select user, host, authentication_string, plugin from mysql.User;
    

    查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

    5.4 创建可远程登陆用户并赋予权限(以mysql8之前的版本为例)
    grant privileges on *.* to 'user'@'host' identified by 'password';  
    

    user:你将创建的用户名。
    host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
    password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器,但是如果使用navcat登录则必须要密码。

    例如:

    grant all on *.* to 'root'@'%' identified by 'root';
    

    但是在mysql8中已经不支持grant命令创建并赋予权限,会报错`

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'root'' at line 1`
    
    5.6 创建可远程登陆用户并赋予权限(适用于mysql任何版本)

    (1)创建用户(可远程访问使用%

    create User 'user'@'host' identified by 'password';
    

    或(若没有选择mysql库)

    create mysql.User 'user'@'host' identified by 'password';
    

    说明:
    username:你将创建的用户名。
    host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%。
    password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器,但是如果使用navcat登录则必须要密码。

    例如:

    create User 'root'@'%' identified by 'root';
    create User 'student'@'localhost' identified by '123';
    create User 'student'@'本机IP' identified by '123';
    create User 'student'@'%' identified by '';
    

    (2)用户授权(授予全部权限使用all,全部数据库全部表格使用*.*

    grant privileges on database.table to 'user'@'host';
    

    说明:
    privileges:用户的操作权限,如selectinsertupdate等,如果要授予所的权限则使用all
    databasename:数据库名。
    tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
    例如:

    grant all on *.* to 'root'@'%';
    grant insert on studentsystem.guide to 'student'@'localhost';
    

    注意:
    用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

    grant privileges on database.table to 'user'@'host' with grant option;
    
    5.7 重新加载权限表数据

    这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

    flush privileges; 
    
    5.8 删除用户及权限

    (1)删除用户数据

    delete from User where Host='%';
    

    或(若没有选择mysql库)

    delete from mysql.User where Host='%';
    

    (2)重新加载权限表数据

    flush privileges; 
    

    6. 使用Navcat for Mysql访问远程数据库

    详情见Navicat 12 for MySQL下载、安装及使用教程(https://blog.csdn.net/weixin_44222492/article/details/98775090)
    测试连接

    展开全文
  • MySQL开启远程访问权限

    千次阅读 2018-11-17 20:52:40
    1、第一步登录数据库 [root@instance-u5vpjp1n ~]# mysql -uroot -p ...3、查看权限情况 MariaDB [mysql]> select host,user,password from user; 4、基于用户 MariaDB [mysql]> gran...

    1、第一步登录数据库

    [root@instance-u5vpjp1n ~]# mysql -uroot -p
    2、进到mysql库

    MariaDB [(none)]> use mysql;

    3、查看权限情况

    MariaDB [mysql]> select host,user,password from user;

    4、基于用户

    MariaDB [mysql]> grant all privileges on *.* to root@'%'identified by '123456';

    MariaDB [mysql]> flush privileges;

    5、基于IP

    MariaDB [mysql]> grant all privileges on *.* to 'root'@'192.168.0.4'identified by '123456' with grant option;
    Query OK, 0 rows affected (0.00 sec)

    MariaDB [mysql]> flush privileges;

     

    展开全文
  • 开启mysql远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql远程访问权限。 主流的有两种方法,改表法和授权法。 相对而言,改表法比较容易一点...
  • mysql给root开启远程访问权限,修改root密码
  • 如何通过Window的数据库可视化工具远程连接装在Linux上的Mysql呢?可以按照以下步骤逐一确认! 检查监听端口是否存在 netstat -ntlp |grep mysql  检查Mysql配置配置 先执行:vim /etc/my.cnf [mysqld] port = ...

    如何通过Window的数据库可视化工具远程连接装在Linux上的Mysql呢?可以按照以下步骤逐一确认!

    检查监听端口是否存在

    netstat -ntlp  |grep  mysql 

     

    检查Mysql配置配置

    先执行:vim /etc/my.cnf

    [mysqld]
    port = 3306
    bind-address = 0.0.0.0     # 这一行改成0.0.0.0 或者直接注释掉
    socket = /tmp/mysql.sock
    datadir = /usr/local/mysql/var
    skip-external-locking

     

    进入数据库依次执行以下命令

    1. mysql -u root -p use mysql;
    2. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';    #这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址
    3. flush privileges;     #重新加载权限数据
    4. select * from user;   #查询是否设置成功
    展开全文
  • 开启和关闭MSsql数据库的远程访问,默认mssql是关闭远程访问的。
  • MySql-Server 出于安全方面考虑默认只允许本...所以必须给root修改可以远程访问权限 1.在连接服务器后,操作mysql系统数据库 命令为: mysql -u root -p root:表示用户名 use mysql; 2.查询用户列表 select...

    MySql-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问.

    所以必须给root修改可以远程访问的权限

    1.在连接服务器后,操作mysql系统数据库

      命令为:  mysql -u root -p

    root:表示用户名

                                  use mysql;

    2.查询用户列表

    select  User,authentication_string,Host from user;

    3.新增用户及其权限

    1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'  

       这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址

     2.flush privileges;        

     这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据

     因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

    4.删除用户及其权限

    delete from user where Host='%';

    展开全文
  • 在cmd命令中执行: mysql -u root -p use mysql; GRANT ALL PRIVILEGES ON *.* TO '...这句表示从mysql数据库的grant表中重新加载权限数据 select * from user; 查询是否设置成功 如果还是不能访问 查看mysql是否只
  • 1、替换账号密码grant all privileges on *.* to myuser@'%' identified by "pwd";2、使立即生效FLUSH PRIVILEGES;
  • 打开workbench主界面,使用默认建立的root账户登 、选择users and privileges; 、新建一个叫做forremote的账户,所有申请访问该主机 1111
  • mysql开启远程访问权限 1.登录mysql mysql -uroot -p 2.进入mysql数据库 use mysql 3.查看权限 select user, host from user 可以看到权限都是localhost 4.修改权限 'root’是用户名,'123456’是填写密码的位置...
  • 开启MYSQL远程连接权限的方法,大家参考使用吧
  • linux下mysql开启远程访问权限及防火墙开放3306端口开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法...
  • 然后可选用以下任一方法开启远程访问权限: 方法一、授权 MySQL 8.0已经不支持下面这种命令写法 grant all privileges on *.* to root@"%" identified by "."; 正确的写法是先创建用户【如果用户存在,可直接执行...
  • 开启mysql远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql远程访问权限。 主流的有两种方法,改表法和授权法。 相对而言,改表法比较容易...
  • 主要介绍了MySQL开启远程连接权限,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 1、mysql -u root -p 2、use mysql 3、GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 4、flush privileges; 5、select host,user from user; 转载于:...
  • mysql开启远程访问权限1.root账号登录云服务器2.登录成功后,执行变更sql赋予root新权限3.一顿操作梦如虎之后,用工具测试你的连接4.提醒事项 1.root账号登录云服务器 mysql -h localhost -u root -p(你的密码) 2....
  • docker 安装mysql开启远程访问权限

    千次阅读 2019-09-27 17:27:41
    docker安装mysql(m默认是最新版本8.0,可用指定版本) 1.拉去docker镜像 docker pull docker.io/mysql 2.查看mysql镜像 docker images 3.是呀docker启动mysql docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_...
  • MySQL 开启远程访问权限 | 宝塔系统

    千次阅读 2019-04-18 11:43:00
    1.进入 MySQL 管理菜单 2.选择权限为所有人 转载于:https://www.cnblogs.com/Skrillex/p/10728681.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,633
精华内容 20,253
关键字:

mysql开启远程访问权限

mysql 订阅