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
Server version: 5.1.-log Source distribution Copyright (c) , , 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 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:
Current database: *** NONE *** Query OK, row affected (0.00 sec) mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| daobidao |
| mysql |
+--------------------+
rows in set (0.00 sec)

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

3)删除数据库

mysql> drop database daobidao;
ERROR (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:
Current database: *** NONE *** Query OK, rows affected (0.01 sec) mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
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, row affected (0.00 sec) mysql> use daobidao;
Database changed
mysql> source /root/test.sql;
ERROR (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:
Current database: daobidao Query OK, rows affected (0.00 sec) Query OK, rows affected (0.00 sec) Query OK, 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文件。

Linux系统下授权MySQL账户访问指定数据库和数据库操作的更多相关文章

  1. Linux系统下启动MySQL报错:Neither host &#39;localhost.localdomain&#39; nor &#39;localhost&#39; could be looked up with

    Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with 摘要 Li ...

  2. 虚拟机中ubuntu-16.04 Linux系统下配置mysql数据库,并在windows下使用navicat远程连接

    Linux系统下mysql数据库安装配置步骤: 1.在服务器上安装mysql:sudo apt-get install mysql-server sudo apt-get install mysql- ...

  3. Linux系统下修改MySQL密码(忘记密码)

    忘记原来的myql的root的密码: 首先,你必须要有操作系统的root权限了.要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤.类似于安全模式登录系统,有人建议说是pkill m ...

  4. 在linux系统下安装mysql详解,以及远程调用连接不上mysql的解决方法。

    步骤: 1)查看CentOS自带的mysql 输入 rpm -qa | grep mysql 2)将自带的mysql卸载 3)上传Mysql的安装包到linux 4)安装mysql的依赖(不是必须) ...

  5. 手把手教你在Linux系统下安装MySQL

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum R ...

  6. 在Linux系统下进入MySql数据库进行操作

    例:   ---- 1.进入mysql数据库 root@test:/home# mysql -uroot -proot   <uroot是用户名,proot是密码> 2.查询所有的库 my ...

  7. Linux/CentOS下开启MySQL远程连接,远程管理数据库

    当服务器没有运行PHP.没装phpMyAdmin的时候,远程管理MySQL就显得有必要了. 第一步:开启MySQL用户的远程访问权限 mysql -u root -p mysql # 第1个mysql ...

  8. Linux系统下安装Mysql

    原文档地址:http://www.itpub.net/thread-1766546-1-1.html 1.在Linux服务器上通过wget命令取得rpm包: wget –c http://dev.my ...

  9. linux系统下创建lvm挂载到指定目录

    1 .背景 在企业中有时我们为方便安装软件.数据的管理,需要把安装软件.数据放到固定目录下,磁盘满了方便扩展,这里假如需要一个/data目录存放数据,并单独进行挂载. 2.操作步骤 2.1  划分磁盘 ...

随机推荐

  1. vue父组件向子组件传递数据

    父组件 <template> <div id="app"> <v-header :childseller="fatherseller&quo ...

  2. BZOJ3612 [Heoi2014]平衡 整数划分

    [Heoi2014]平衡 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 348  Solved: 273[Submit][Status][Discus ...

  3. bzoj 1396 识别子串 后缀树+线段树

    题目大意 给定一个长度\(\le100000\)的字符串 求每一个位置的最短识别子串 对于位置\(x\),能识别子串\(s[i...j]\)的条件是 1.\(i\le x \le j\) 2.\(s[ ...

  4. python字符串加密与反解密

    在生产中会遇到很多情况是需要加密字符串的(如访问或存储密码)这些需求造就了需要字符串加密,以及反解密的问题,推荐两种方法来实现,下附代码: #!/usr/bin/env python3 # -*- c ...

  5. FTK应用程序编程接口(API)手册-1【转】

    转自:http://blog.csdn.net/absurd/article/details/6702047 框架函数 框架函数支撑FTK的主体,它负责初始化应用程序,启动主循环和退出主循环.它对任何 ...

  6. Shell中的单引号(‘)双引号(”)和反引号(·)

    在bash中,$.*.?.[.].’.”.`.\.有特殊的含义.类似于编译器的预编译过程,bash在扫描命令行的过程中,会在文本层次上,优先解释所有的特殊字符,之后对转换完成的新命令行,进行内核的系统 ...

  7. 修饰符的范围+运算符优先级+构造方法特点+switch参数

    一.修饰符的范围 修饰符的范围,是否可访问: 类型 private 无修饰 protected public 同一类 是 是 是 是 同一包中的子类 否 是 是 是 同一包中的非子类 否 是 是 是 ...

  8. 学习总结——JMeter做http接口压力测试

    JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...

  9. Android Studio 打开后无故爆红后解决办法

    今天打开AndroidSutudio后表示一脸蒙蔽,项目无故爆红,我本以为是哪里的代码有错导致 报错,于是乎逐个检查,但是并没有发现任何问题,然后CelarProduct,ReBuildProduct ...

  10. 解决dvajs使用BrowserHistory路由模式后仍然会出现hash(哈希)

    在dvajs中,如果你在初始化dva对象的时候不作任何处理,那么你就会发现即使你是用了BrowserRouter来作为Router url中也是会出现#/.解决方法也很简单: 使用前先手动安装下 hi ...