`

mysql新增专给特定IP访问的用户

 
阅读更多

1 新创建同时授权用户:

[root@XX-90 ~]# mysql -root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5386
Server version: 5.5.15-log MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
mysql> grant select,insert,update,delete on my_test_db.* to biao@localhost Identified by "123456";

上面的my_test_db是要授权访问到的数据库实例,biao是新用户名,123456是密码,localhost应该是数据库允许被访问的ip

 

2 创建用户后,可以在mysql数据库的user表看到新创建的用户信息:

mysql> show database;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    15
Current database: karaoke

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 'database' at line 1
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.00 sec)

mysql> use mysql
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
24 rows in set (0.00 sec)

mysql> select * from user where user='karaoke' \G
*************************** 1. row ***************************
                 Host: localhost
                 User: biao
             Password: *E7E5651E6FD1A0960EC95E6DE3D971537515F66E
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: N
            Drop_priv: N
          Reload_priv: N
        Shutdown_priv: N
         Process_priv: N
            File_priv: N
           Grant_priv: N
      References_priv: N
           Index_priv: N
           Alter_priv: N
         Show_db_priv: N
           Super_priv: N
Create_tmp_table_priv: N
     Lock_tables_priv: N
         Execute_priv: N
      Repl_slave_priv: N
     Repl_client_priv: N
     Create_view_priv: N
       Show_view_priv: N
  Create_routine_priv: N
   Alter_routine_priv: N
     Create_user_priv: N
             ssl_type: 
           ssl_cipher: 
          x509_issuer: 
         x509_subject: 
        max_questions: 0
          max_updates: 0
      max_connections: 0
 max_user_connections: 0
1 row in set (0.00 sec)
 

如果你的结果不面上面user='biao'那样,你可以自己update这个表这段信息,如我想让这个用户只给10.11.11.11的IP访问,就update user set Host='10.11.11.11' where User='biao';

 

3 新增用户授权后无法使用,如ip为10.11.11.11无法使用,这里不用急,我是通过重启数据库来让它生效的:

 

#创建用户后,外面机如如还没法登陆,可以重启数据库服务:
[root@TJHY95-90 ~]# sodu service mysql restart;
-bash: sodu: command not found
[root@TJHY95-90 ~]# sudo service mysql restart;  
Shutting down MySQL.....                                   [确定]
Starting MySQL....                                         [确定]
[root@TJHY95-90 ~]# mysql -uroot -p
 

这样外面就可以访问了,如这里我指定了10.11.11.11这台机来访问,那么在这台机上使用如下访问语句:

[root@xx11-11 ~]# hostname -i
10.11.11.11
[root@xx11-11 ~]# mysql -ukaraoke -pkaraoke  -h10.11.11.142
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.5.15-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> 

 这里的10.11.11.142是我们刚才数据库所在的IP。

 

 

更多参考:

mysql设置允许外部访问

配置外部访问帐号密码

本地登录mysql

 

Java代码  收藏代码
  1. mysql -uroot -p  
 

执行

 

Java代码  收藏代码
  1. grant all on *.* to rails@'client_ip' identified by 'password' with grant option;  
 

例子:所有局域网客户端都可访问

 

Java代码  收藏代码
  1. grant all on *.* to root@'192.168.0.%' identified by 'root' with grant option;  
 

例子:为boyu数据库设置用户boyu

 

Java代码  收藏代码
  1. grant all on boyu.* to boyu@'192.168.0.%' identified by 'p4ssword';  
 app_server_id为APP应用服务器的IP

 

设置mysql外部能访问

/etc/mysql/my.cnf

注释到下面这行

 

Java代码  收藏代码
  1. bind-address = 127.0.0.1  
 

重启mysql-server

 

Java代码  收藏代码
  1. sudo service mysql restart  

 

 

 

 

及参考:

yum安装Mysql

 

如果在源代码编译未安装成功的情况,用yum安装是比较好的选择,特别是对新手来说,是很好的选择,安装的过程很简单,只要输入:yum -y install mysql-server ,系统自动下载和安装Mysql的, 
chkconfig --add mysqld 在服务清单中添加mysql服务 
service mysqld start 服务启动 
mysqladmin -u root password 'newpassword' 更改密码 
mysql -u root -p 
mysql> DROP DATABASE test; 删除test数据库 
mysql> DELETE FROM mysql.user WHERE user = ''; 删除匿名帐户 
mysql> FLUSH PRIVILEGES; 重载权限 

添加mysql用户:GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'password';

分享到:
评论

相关推荐

    Mysql纯命令行添加用户

    如果需要让`pcom`用户在特定IP地址范围访问,可以这样操作: ``` mysql> grant all on pcom.* to 'pcom'@'192.168.0.0/255.255.0.0' identified by 'aaa7B2249'; mysql> grant all on pcom.* to 'pcom'@'172.20.0.0/...

    MYSQL设置远程访问

    找到你想要允许远程访问的用户,将`host`字段的值从`localhost`或特定IP改为`%`,这表示允许从任何IP地址进行连接。例如: ```sql UPDATE mysql.user SET Host = '%' WHERE User = 'your_username'; ``` 执行此...

    ip地址范围判断

    2. **IP地址范围判断**:在编程或网络管理中,我们可能需要检查一个IP地址是否落在特定的IP地址范围内,比如确定某个IP是否属于某个网络段。这可以通过将IP地址转换为整数比较其数值范围来实现,或者使用IP地址解析...

    nrpe监控mysql.docx

    - **定义组**:定义一组监控任务,并将这些任务分配给特定的用户。 - **定义命令**:在`command.cfg`文件中添加一条新的命令,用于调用`check_mysql`插件来监控MySQL服务器。 ```nagios define command{ command_...

    mysql 新增、删除用户和权限分配

    - **登录主机**:允许用户从哪个IP地址或主机登录,`%`代表任何IP,`localhost`表示仅限本地,`192.168.10.2`则限制特定IP。 - **密码**:用户登录时使用的密码。 举例来说,以下语句将创建一个名为`lionbule`的...

    MySQL数据库安装和设置远程连接

    在生产环境中,建议限制为特定IP或子网,例如`GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.0/24' IDENTIFIED BY '123456' WITH GRANT OPTION;`。 10. **备份与维护**:定期备份MySQL数据,以防数据丢失。...

    MySQL用户管理与权限管理 (2).pdf

    MySQL用户管理和权限管理是数据库系统的核心组成部分,确保数据的安全性和访问控制。MySQL的权限系统设计用于验证连接到数据库的用户身份,并根据权限表授予合法用户相应的数据库操作权限。 首先,MySQL在安装时会...

    MYSQL命令大全.doc

    MySQL命令大全涵盖了连接数据库、修改密码、新增用户以及数据库操作等核心功能。以下是对这些知识点的详细说明: 1. **连接MySQL**: - `mysql -h 主机地址 -u 用户名 -p 用户密码` 是连接MySQL服务器的基本命令。...

    Mysql与MongoDB的权限管理与申请_20180818_张煜杰1

    4. **权限更新与记录**:授权成功后,根据集群、用户、库、表和访问源IP更新权限记录,若无记录则新增。所有操作都会记录在日志中,以便追踪和审计。 【MongoDB权限管理】 MongoDB的权限管理也相当重要,它采用了...

    mysql常用命令使用

    新增用户是管理MySQL数据库的重要功能之一,允许授予不同的权限给不同的用户。 1. **创建新用户并授予权限**: - 创建新用户并指定密码: ```sql CREATE USER 'new_username'@'localhost' IDENTIFIED BY '...

    MySQL常用命令大全

    `grant` 命令用于向MySQL中的用户授予特定的权限,例如查询、插入、更新或删除数据等操作。 **命令格式:** ```sql grant 权限列表 on 数据库名.* to '用户名'@'登录主机' identified by '密码'; ``` **参数说明:...

    mysql命令一览-----mysql常用命令

    新增用户可以通过`GRANT`语句实现,该语句用于向用户分配特定的权限。 - **命令格式**: - `GRANT <privileges> ON <database>.<table> TO '<username>'@'<host>' IDENTIFIED BY '<password>';` - 其中`...

    MySQL面试教程-MySQL数据库面试必备视频教程

    - **安全最佳实践**:分享一些关于用户管理的安全建议,如定期更改密码、限制特定IP地址访问等。 ### 三、日志分析类问题 通过对MySQL的日志文件进行分析,可以帮助我们更好地诊断问题、优化系统性能。 **知识点...

    完整word版-MySQL数据库常用命令大全-推荐文档.doc

    新增用户可以增强数据库的灵活性,使不同的用户能够拥有不同的访问权限。 - **命令格式**: ```sql grant 权限列表 on 数据库名.* to 用户名@登录主机 identified by '密码'; ``` - **示例**: - 增加一个用户`...

    mysql主从数据库同步

    在主服务器上,使用`GRANT`命令创建一个具有全权的用户,允许从服务器的特定IP地址访问。例如: ```sql GRANT ALL PRIVILEGES ON *.* TO 'quanshi'@'192.168.1.2' IDENTIFIED BY 'gnet'; ``` - 修改主服务器的`...

    MySQL for Windows.zip

    6. **配置网络选项**:你可以选择是否让MySQL监听所有网络接口或特定IP。默认情况下,它将监听所有网络接口。 7. **配置存储引擎**:选择默认的InnoDB存储引擎,也可以根据需求选择其他引擎。 8. **确认配置**:...

    MySQL常用命令速查手册.pdf

    可以根据需求添加或修改权限,并限制用户只能从特定主机登录。 4. **创建数据库** 使用`create database`命令可以创建新的数据库。例如: ``` create database 数据库名; ``` 创建数据库后,通常还需要分配...

    MySQL 的系统特性.docx

    - **技术背景**:MySQL 5.6及以后版本新增了多项功能,如在线DDL/更改功能、复制全局事务标识、复制无崩溃从机、复制多线程从机等。 - **实际意义**:这些新功能进一步提升了MySQL的稳定性和性能,尤其是在高并发、...

    mysql数据库方面笔试面试题(带答案)

    ### MySQL搜索引擎解析 #### MySQL支持的主要搜索引擎及其特点 1. **MyISAM**: - 特性:MyISAM引擎的表具有平台独立性,易于跨操作系统迁移。 - 存储方式:每个MyISAM表在磁盘上对应三个文件:`.frm`文件存储表...

Global site tag (gtag.js) - Google Analytics