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 idis 6Server version:5.1.60-log Source distribution
Copyright (c)2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracleis 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;
ERROR2006(HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:7Current database:*** NONE ***Query OK,1 row affected (0.00sec)
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;
ERROR2006(HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:9Current database:*** NONE ***Query OK,0 rows affected (0.01sec)
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.00sec)
mysql>use daobidao;
Database changed
mysql> source /root/test.sql;
ERROR2006(HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:17Current database: daobidao
Query OK,0 rows affected (0.00sec)
Query OK,0 rows affected (0.00sec)
Query OK,0 rows affected (0.00sec)
····························
以上命令: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文件。