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数据库:
[[email protected]~]# /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)导入数据库 [方法一]
[[email protected]~]# /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)导出数据库的数据和表结构
[[email protected]~]#/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)导出数据库的表结构
[[email protected]~]#/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文件。