linux Grant 添加 MySql 用户

2024-04-20 14:18

本文主要是介绍linux Grant 添加 MySql 用户,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Grant 添加 MySql 用户
2009-04-03 14:40

我安装的版本:

mysql> select version();
+------------+
| version()   |
+------------+
| 5.0.22-log |
+------------+
1 row in set (0.05 sec)

添加用户:

mysql> grant select,update,insert,delete on *.* to jimmy@AS3 identified by "jimmy";
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
+-----------+--------+-------------------------------------------+
| host       | user    | password                                   |
+-----------+--------+-------------------------------------------+
| localhost | root    |                                            |
| AS3        | root    |                                            |
| AS3        |         |                                            |
| localhost |         |                                            |
| AS3        | yuanjl | 550185cd02026208                           |
| localhost | yuanjl | 550185cd02026208                           |
| AS3        | jimmy   | *1E7F320B8F580AADC02E8A70285E46A8CFDA3359 |
+-----------+--------+-------------------------------------------+
7 rows in set (0.00 sec)

mysql> quit
Bye
[root@AS3 mysql-5.0.22]# mysql -pjimmy -u jimmy -h AS3 mysql
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client
[root@AS3 mysql-5.0.22]# mysql -u root -h AS3 mysql
Welcome to the MySQL monitor.   Commands end with ; or /g.
Your MySQL connection id is 36 to server version: 5.0.22-log

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

mysql> update user set password=old_password('jimmy') where user='jimmy' and host='AS3';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1   Changed: 1   Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
[root@AS3 mysql-5.0.22]# mysql -pjimmy -u jimmy -h AS3 mysql
Welcome to the MySQL monitor.   Commands end with ; or /g.
Your MySQL connection id is 37 to server version: 5.0.22-log

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

mysql>

 

 


2、Mysql添加用户



个人教训,在添加Mysql帐号的时候,一定要主义用户名和主机(local和%)均要被引号引起,否则命令即错



命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.

格式:grant select on 数据库.* to “用户名”@“登录主机” identified by "密码";



例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:

grant select,insert,update,delete on *.* to “test1”@"%" Identified by "abc";



补充所有权限语句:

由例1得: 将执行权限(select,insert,....)改为all privileges,即表示拥有所有权限,包括创建数据库权限,删除数据库,已经不局限于在一个数据库内操作

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';



例1(非补充)中增加的用户是十分危险的,因为你的主机是%,%即代表任意位置的主机,而local即词义"本地",假如,某个人想知道test1的密 码,那么他就可以在internet上的任何一台电脑上连接到你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。



根据例1补充语句,此语句尽量不要在Mysql服务器上使用,如果你的服务器处于托管或远端地带,如果你需要远程管理Mysql服务器,而由不想通过超级 终端登录到服务器上,那么你只好用此语句,但要清楚一件事,即你能使用此方法连接服务器,其他人也可以,所以要保管好你的mysql密码



例2、 增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。



grant select,insert,update,delete on mydb.* to “test2”@localhost identified by "abc";

如果你不想test2有密码,可以再打一个命令将密码消掉。

grant select,insert,update,delete on mydb.* to “test2”@localhost identified by "";



grant select,insert,update,delete on dez.* to “test2”@"%" identified by "123456";



---------------------------

数据库版本类型: MYSQL 5.0.x 社区版本
数据库重要命令:mysqldump ;mysql
系统环境: Windows Xp Sp2
示例数据库: Demo (内部表可自己任意建立)
数据库用户名: root (也可以是具有管理操作权限的用户名)
数据库登录密码: dbuserkey
测试环境中mysql已在环境变量中设置成功即 可在命令行中输入mysql启动mysql数据库引擎
A,完全导出Demo所有数据和结构 (完全备份)
在任目录中(比如 D:/mydb )建立批处理文件backup.bat,内容如下:
mysqldump -uroot -pdbuserkey --add-locks --opt Demo>D:/mydb/Demo.sql;
@pause
B,完全导入Demo所有数据和结构 (完全恢复)
在与backup.bat同目录中建立批处理文件restore.bat 内容如下:
mysql -uroot -pdbuserkey demo<D:/mydb/Demo.sql;
@pause
C,测试
开启mysql数据库引擎 net start mysql
运行 A中批处理 会看到D:/mydb下生成Demo.sql
然后执行 Drop Database Demo命令删除Demo数据库
建立Demo数据库 Create Database Demo;
运行 B 中比处理 即可恢复所有数据和结构
D,常用命令
登录或连接mysql数据库服务
mysql -h主机地址 -u用户名 -p用户密码;
推出mysql 数据库连接
Exit
停止本地mysql数据库服务
Net stop mysql
修改密码
mysqladmin -u用户名 -p旧密码 password 新密码;
显示数据库列表
Show Database;
使用数据库
Use DatabaseName;
显示当前选择数据库
Select Database();
打开表
Show TableName;
显示数据表的结构
Describe TableName;
当前数据库包含的表信息:
Show Tables; (注意:最后有个s)
建立数据库
Create DataBase databaseName;
建立表
Use databaseName;
Create Table tableName (字段设定列表);
删库和删表
Drop Database databaseName;
Drop Table tableName;
将表中记录清空
Delete From tableName;
表名字更改
Rename Table tableA to tableB;
SQL结构化查询语句命令见mysql doc 文档
Mysql创建删除用户
Grant select,insert,update,delete on *[(数据库)].* to 用户名@登录主机 identified by "密码"
命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
==以下来自网络==
例1,增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询,插入,修改,删除的权限.首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2.
例 2,增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询,插入,修改,删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了.
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉.
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
这样就创建了一个名为:phplamp 密码为:1234 的用户.
然后登录一下.
mysql>exit;
mysql -u phplamp -p
输入密码
mysql>登录成功
2.为用户授权.
//登录MYSQL(有ROOT权限).我里我以ROOT身份登录.
mysql -u root -p
密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限.
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表.
mysql>flush privileges;
*/
3.删除用户.
mysql -u root -p
密码
mysql>Delete FROM user Where User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码.
mysql -u root -p
密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
5.列出所有数据库
mysql>show database;
6.切换数据库
mysql>use '数据库名';
7.列出所有表
mysql>show tables;
8.显示数据表结构
mysql>describe 表名;
9.删除数据库和数据表
mysql>drop database 数据库名;
mysql>drop table 数据表名;
10. 显示表的结构
describe "tabaleName";
cmd下连接mysql:
mysql -uroot -p 回车 注意密码不要打在-p后面

这篇关于linux Grant 添加 MySql 用户的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920478

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、