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 [email protected] 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
[[email protected] 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
[[email protected] 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
[[email protected] 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 [email protected]"%" 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 [email protected] identified by "abc"; 
如果你不想test2有密码,可以再打一个命令将密码消掉. 
grant select,insert,update,delete on mydb.* to [email protected] 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 [email protected] identified by ‘1234‘; 
//刷新系统权限表 
mysql>flush privileges; 
mysql>其它操作 
/* 
如果想指定部分权限给一用户,可以这样来写: 
mysql>grant select,update on phplampDB.* to [email protected] 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后面

时间: 2024-12-30 02:43:15

linux Grant 添加 MySql 用户的相关文章

linux下添加mysql用户并授权

-------------------暂停mysqlservice mysqld stop 忘记密码修改流程1,修改mysql配置文件 /etc/my.cnf,在[mysqld]下添加一行skip-grant-tables2, 重启mysql service mysqld restart3, mysql -u root -p不用输入密码就直接进入了mysql mysql修改密码use mysqlupdate user set Password = password('nf123456') whe

在linux中添加ftp用户,并设置相应的权限

在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/testpasswd test //为test设置密码 3.更改用户相应的权限设置: usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftpuse

linux iptables添加mysql访问

用一个shell脚本添加一个IP的mysql 3306端口到防火墙白名单 #!/bin/bash chkconfig --level 235 iptables on iptables -F iptables -A INPUT -s 127.0.0.1 -p tcp --dport 3306 -j ACCEPT iptables -A INPUT -s 192.168.0.11 -p tcp --dport 3306 -j ACCEPT linux iptables添加mysql访问

给linux虚拟机添加Samba用户

Window系统连上我们的开发机Linux,自然需要在Samba里添加一个新用户. linux-06bq:/usr/local/services/samba/bin # ./smbpasswd -a yourname New SMB password:Retype new SMB password:Failed to add entry for user yourname . 百度给出的结论是”添加的Samba用户首先必须是Linux用户”,一下子豁朗开郎. linux-06bq:/etc/sa

linux下添加新用户,切换用户登录

如何在linux下添加用户?以及成功退出用户登录?以及切换用户登录? 步骤如下: 命令行输入 adduser 用户名(如:lanp) 回车,(注意:此处linux不会显示任何信息出来); 接着输入 passwd 用户名 回车: 提示你输入新的密码,以及密码输入后的确认密码:(注意,在你输入密码时,linux是不会显示的) 出现身份验证令牌已经成功更新,表示用户以及创建成功: 退出用户登录,直接 logout 回车即可; root切换到普通用户,用命令su 用户名(su即switch user切换

Linux系统添加新用户

Linux系统中一般不直接使用root用户进行操作,需要添加新的用户. 首先,查看当前系统已有的用户 cat /etc/passwd 其次,添加想要的用户 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-r] name -d:指定用户登入时的主目录,替换系统默认值/home/<用户名> -g:指定用户所属的群组.值可以使组名也可以是GID.用户组必须已经存在的,期

linux下创建mysql用户和数据库,并绑定

Linux下输入命令: mysql -uroot -proot123 进入mysql后输入: 查看目前有哪些数据库存在:mysql> SHOW DATABASES; 创建数据库:create schema [数据库名称] default character set utf8 collate utf8_general_ci;例子:mysql> create schema estuntest default character set utf8 collate utf8_general_ci;Qu

Linux手动添加普通用户

以添加用户user1(UID=550 GID=550)为例: 用管理员root账户进入shell: #vi /etc/group 在末尾按格式添加: user1:x:550: #wq #vi /etc/passwd 在末尾添加: user1:x:550:550::/home/user1:/bin/bash #wq #vi /etc/shadow 在末尾添加: user1:!!:16875:0:99999:7::: (其中个字段的意义: 1)"登录名"是与/etc/passwd文件中的登

linux中忘记mysql用户root密码解决方案

1.vim /etc/my.cnf[mysqld]skip-grant-tables ##追加此行,跳过权限表, 2.重启mysqlsystemctl restart mysqld 3.mysql 登陆mysqlmysql> use mysql;mysql> UPDATE user SET Password = password ( 'zha123456' ) WHERE User = 'root' ;mysql> flush privileges ; mysql> quit 4.