`

MySQL用户管理及授权-开启远程访问

阅读更多
Linux开启或停止Mysql服务

#service mysqld start
#service mysqld stop


常用操作:

选择数据库:
use 'databasename';

查询数据库实例:
show databases;

查询当前选择数据库实例的表:
show tables;

查询用户权限:
show grants for 'username'@'%';

查询Mysql版本号:
select version();

查询Mysql端口号:
show global variables like 'port';


创建用户:

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

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

例子:
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%'; 


设置与更改用户密码

命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword");

例子:
SET PASSWORD FOR 'username'@'%' = PASSWORD("123456");

update user set password=PASSWORD('newpwd') where user='root';


删除用户

命令: DROP USER 'username'@'host';

用户授权:

命令:GRANT privileges ON databasename.tablename TO 'username'@'host'

说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.

例子: GRANT SELECT, INSERT ON test.user TO 'username'@'%';
GRANT ALL ON *.* TO 'username'@'%';

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;


撤销用户权限

命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';

说明: privilege, databasename, tablename - 同授权部分.

例子: REVOKE SELECT ON *.* FROM 'pig'@'%';

注意: 假如你在给用户'username'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'username'@'%', 则在使用REVOKE SELECT ON *.* FROM 'username'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'username'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.

具体信息可以用命令SHOW GRANTS FOR 'username'@'%'; 查看.

开启Mysql远程访问:
1、改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

# mysql -u root -p 
mysql>use mysql; 
mysql>update user set host = '%' where user = 'username'; 
mysql>select host, user from user;


2、授权法
-- 赋予任何主机访问数据的权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION

若想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI 
TH GRANT OPTION;


若想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES  -- 修改生效
mysql>EXIT
分享到:
评论

相关推荐

    mysql设置指定ip远程访问连接实例

    在MySQL数据库管理中,远程访问连接允许用户从不同的计算机或网络位置访问数据库,这对于多用户协作、分布式系统或云服务的实现至关重要。本教程将详细解释如何设置MySQL以允许指定IP地址的远程访问连接。 首先,...

    MySQL 设置远程访问

    MySQL数据库是世界上最流行的开源关系型数据库之一,...总结来说,MySQL设置远程访问涉及修改服务器配置和授权用户,这使得从远程位置连接和管理数据库成为可能。在实施时,必须确保适当的安全措施以防止未授权访问。

    MySQL开启关闭远程访问

    ### MySQL 开启与关闭远程访问及密码修改指南 #### 一、MySQL开启远程访问 **1. 登录本地MySQL** 首先确保你已经安装并启动了MySQL服务。打开命令行工具(如Windows的CMD或Linux的Terminal),输入以下命令登录...

    mysql-connector-c-6.1.6-win32

    - 连接到本地或远程的MySQL服务器。 - 创建、打开和关闭数据库连接。 - 执行SQL语句,包括SELECT、INSERT、UPDATE、DELETE等。 - 处理结果集,包括遍历行、获取列值等。 - 错误处理,包括检查错误码和错误信息。 - ...

    mysql开启远程访问权限和被远程访问的方法.pdf

    根据提供的文件信息,以下是关于“mysql开启远程访问权限和被远程访问的方法”的详细知识点介绍: 1. MySQL Workbench界面使用: MySQL Workbench是官方提供的MySQL数据库的图形化管理工具。在文档中提到使用...

    Mysql5.0源代码安装及远程管理

    - **授权远程访问**:登录MySQL后,执行SQL命令`GRANT ALL ON *.* TO admin@192.168.0.33 IDENTIFIED BY 'admin';`,允许IP地址为192.168.0.33的客户端访问MySQL。 - **重启MySQL服务**:通过`service mysql restart...

    不改权限远程访问MySql服务器

    在许多情况下,为了确保数据安全,数据库管理员通常会限制对MySQL服务器的远程访问,但有时我们可能需要在不修改服务器权限的情况下实现远程连接。下面将详细探讨这一主题。 首先,MySQL服务器的默认配置通常只允许...

    云服务器安装mysql8.0并开启远程访问

    ### 云服务器安装MySQL 8.0并开启远程访问 #### 一、环境准备与配置 **1.1 环境概述** 本教程适用于在腾讯云服务器上部署MySQL 8.0,并实现远程访问的功能。环境配置如下: - **操作系统版本**:CentOS 7 - **...

    在Ubuntu下解决MySQL不能远程访问的问题.docx

    然而,在实际应用场景中,我们往往需要让其他机器能够远程访问MySQL数据库,这就要求我们对Ubuntu下的MySQL进行相应的配置修改。本文将详细阐述如何在Ubuntu下解决MySQL不能远程访问的问题,具体步骤分为三个部分:...

    设置mysql远程连接

    在进行数据库管理与应用开发的过程中,有时我们需要从远程服务器访问MySQL数据库。这通常适用于分布式系统或需要进行远程调试及维护的情况。为了实现这一功能,我们需要对MySQL进行相应的配置。 #### 二、准备工作 ...

    Win2012安装mysql的以及修改root用户可以远程链接

    ### Win2012系统上安装MySQL 5.7.17.0及配置远程访问详解 #### 一、安装MySQL 5.7.17.0 在Windows Server 2012环境下安装MySQL 5.7.17.0,首先需要下载MySQL的安装程序,通常可以从MySQL官网或其他可靠的资源站点...

    Linux开启mysql远程连接

    #### 四、步骤一:创建远程连接MySQL授权用户 首先需要登录到MySQL数据库,并创建一个允许远程连接的用户。这里我们创建一个名为`itlogger`的用户,其权限如下: ```sql mysql -u root -p mysql> GRANT ALL ...

    服务器mysql远程配置

    1. **开启MySQL服务的远程访问权限**:这通常涉及到编辑MySQL的配置文件`my.cnf`(在不同的操作系统上,路径可能不同),在`bind-address`行取消注释并设置为0.0.0.0,这样MySQL就会监听所有网络接口。 2. **授权...

    解决mysql不能远程访问的解决方法.docx

    ### 解决MySQL无法远程访问的方法 #### 一、问题背景 在使用MySQL数据库时,有时会遇到无法从远程计算机访问数据库的问题。这通常是因为MySQL默认只允许本地(localhost)访问,而不支持远程连接。本文将详细介绍...

    数据库(MySQL)远程访问

    在许多情况下,我们需要远程访问MySQL数据库,以便在不同地理位置的设备上进行数据操作和管理。本篇将详细介绍如何实现MySQL数据库的远程访问。 首先,理解MySQL的网络配置至关重要。MySQL服务默认只监听本地回环...

    mysql 远程root权限

    - 使用`GRANT`语句授予`root`用户远程访问权限。 ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; ``` 这条命令授予了`root`用户从任何主机(由`%`通配符表示)访问数据库的全部权限,并...

    MySql完全卸载&远程连接配置

    2. **授权远程访问权限**:通过SQL语句为特定用户授权,允许其从任何主机(使用通配符`%`表示任何主机)访问数据库。 ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;...

    mysql开启远程连接(mysql开启远程访问)

    1. **授权用户远程访问**: 在MySQL中,每个用户都有特定的主机限制,即只能从指定的主机连接到数据库。默认情况下,`root`用户的主机限制通常为`localhost`,这意味着它只能从同一台服务器上访问。要允许远程访问...

Global site tag (gtag.js) - Google Analytics