zoukankan      html  css  js  c++  java
  • Linux系统下授权MySQL账户访问指定数据库和数据库操作

     Linux系统下授权MySQL账户访问指定数据库

    需求:
    1、在MySQL中创建数据库mydata
    2、新建MySQL账户admin密码123456
    3、赋予账户admin对数据库mydata具有完全操作权限
    ======================================================================
    操作如下:
    1、登录MySQL数据库
          mysq  -uroot  -p    #在终端命令行输入
          123456         #输入密码
    2、show databases;     #显示数据库列表
    3、create database mydata;     #建立数据库mydata
    4、insert into mysql.user(Host,User,Password) values('localhost','admin',password('123456'));    #新建账户admin,密码123456
    5、flush privileges;    #刷新系统授权表
    6、grant all on mydata.* to 'admin'@'%' identified by '123456' with grant option;    #允许账户admin从任何主机连接到数据库mydata
    至此,账号admin对数据库mydata具有完全管理权限。
    ========================================================================  
    扩展:
          grant all on mydata.* to 'admin'@'192.168.1.1' identified by '123456' with grant option;    #账户admin只能从192.168.1.1连接到数据库mydata 
          grant all on mydata.* to 'admin'@'localhost' identified by '123456' with grant option;     #账户admin只能从本机连接到数据库mydata
          update mysql.user set password=password(1234) where User="admin" and Host="localhost";   #修改账号admin密码为1234
          revoke all on mydata.* from 'admin'@'%';           #禁止用户admin从任何主机访问数据库mydata  
          revoke all on mydata.* from 'admin'@'192.168.1.1';     #禁止用户admin从192.168.1.1访问数据库mydata 
          dalete  from  mysql.user  where  user="admin" and Host="localhost";    #删除用户admin
    ======================================================================
    备注:在Windows中操作方法类似,请大家自行测试。
     
    ====================================================================================================================

    教程目的: Linux 下 Mysql客户端创建、删除数据库,导入、导出数据库

    使用工具:Putty、SecureCRT等远程工具

    适用系统:Linux 系列系统

    操作过程:

    1.Mysql 客户端创建、删除数据库:

    1)登录Mysql数据库:

    [root@DaoBiDao~]# /usr/local/mysql/bin/mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 6
    Server version: 5.1.60-log Source distribution
     
    Copyright (c) 2000, 2011, 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的情况操作,以上命令:/usr/local/mysql/bin/mysql -u root -p 回车,输入正确密码即可登录mysql数据库服务(mysql安装在/usr/local/mysql/目录下)

    2)创建空数据库

     
    mysql> create database daobidao;
    ERROR 2006 (HY000): MySQL server has gone away
    No connection. Trying to reconnect...
    Connection id:    7
    Current database: *** NONE ***
     
    Query OK, 1 row affected (0.00 sec)
     
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | daobidao           |
    | mysql              |
    +--------------------+
    3 rows in set (0.00 sec)

    以上命令:create database 库名; 就可以创建一个空的数据库,例如命令:create database daobidao;  创建一个daobidao的空数据库;命令:show databases; 显示所有的数据库。

    3)删除数据库

    mysql> drop database daobidao;
    ERROR 2006 (HY000): MySQL server has gone away
    No connection. Trying to reconnect...
    Connection id:    9
    Current database: *** NONE ***
     
    Query OK, 0 rows affected (0.01 sec)
     
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    +--------------------+
    2 rows in set (0.00 sec)
     

    以上命令:drop database 库名; 就可以删除一个数据库;例如命令:drop database daobidao; 就删除了daobidao 数据库。

    2.Mysql客户端导入、导出数据库

    1)导入数据库 [方法一]

     
    [root@DaoBiDao~]# /usr/local/mysql/bin/mysql -u root -p daobidao < /root/test.sql    
    Enter password:

    以 上命令:/usr/local/mysql/bin/mysql -u root -p 需要导入到哪个数据库的数据库名 < 需要导入的数据库文件;例如命令:/usr/local/mysql/bin/mysql -u root -p daobidao < /root/test.sql   将数据库文件test.sql文件导入到daobidao数据库中; (但需要导入到哪个数据库必须要存在)

    2)导入数据库 [方法二]

     
    mysql> create database daobidao;
    Query OK, 1 row affected (0.00 sec)
     
    mysql> use daobidao;
    Database changed
    mysql> source /root/test.sql;
    ERROR 2006 (HY000): MySQL server has gone away
    No connection. Trying to reconnect...
    Connection id:    17
    Current database: daobidao
     
    Query OK, 0 rows affected (0.00 sec)
     
    Query OK, 0 rows affected (0.00 sec)
     
    Query OK, 0 rows affected (0.00 sec)
     
    ····························

    以上命令:1)创建一个数据库,2)使用该数据库,3)导入数据库 文件;例如命令:1)create database daobidao; 创建一个空数据库; 2)use daobidao; 使用该数据库; 3) source /root/test.sql;  导入数据库文件。(但需要导入到哪个数据库必须要存在)

    3)导出数据库的数据和表结构

     
    [root@DaoBiDao~]#/usr/local/mysql/bin/mysqldump -u root -p daobidao > /root/dbd.sql
    Enter password:

    以上命令:/usr/local/mysql/bin /mysqldump -u root -p 需要导出的数据库 > 导出存放的数据库文件名; 例如命令:/usr/local/mysql/bin/mysqldump -u root -p daobidao > /root/dbd.sql 将daobidao 数据库导出,存放在/root/dbd.sql文件。

    4)导出数据库的表结构

     
    [root@DaoBiDao~]#/usr/local/mysql/bin/mysqldump -u root -p -d daobidao > /root/dbd.sql
    Enter password:

    以上命令:/usr/local/mysql/bin /mysqldump -u root -p -d 需要导出的数据库 > 导出存放的数据库文件名; 例如命令:/usr/local/mysql/bin/mysqldump -u root -p -d daobidao > /root/dbd.sql 将daobidao 数据库导出表结构,存放在/root/dbd.sql文件。

  • 相关阅读:
    keep-alive
    关于前端的网络攻击
    Webpack
    https加密
    JS的变量提升
    浏览器
    http请求状态码
    Python程序结构-模块
    Python面向对象编程-继承
    Python语法(高级语法)- 命名空间和作用域
  • 原文地址:https://www.cnblogs.com/sandea/p/4812588.html
Copyright © 2011-2022 走看看