如何新增一个mysql用户
增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了
增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
或 mysql>grant all privileges on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
另外,也可以通过直接往user表中插入新纪录的方式来实现。
如何修改mysql用户密码
如果要修改的用户不是root用户
方法1 先进入root用户的mysql数据库中
mysql>mysql -u root -p mysql
mysql>update user set password=password('new_password') where user='user';
mysql>flush privileges;
如果修改的用户是root
首先停止MySQL的运行,然后重新启动 : PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
mysql>use mysql
mysql>update user set password=password("new_pass") where user="root";
mysql>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL
一定注意:很多新手没有用password=password("..."),而是直接password="..."所以改掉密码不好使
另一种方法是使用mysqladmin命令
比如原来的用户user的密码是123现更新密码为123456
MySQL\bin\mysqladmin -u user -p password 123456
Enter password:123
如何删除用户和撤销权限
要完全删除一个用户,你必须用一条DELETE语句明确从user表中删除用户记录:
>mysql -u root -p mysql
>password:******
mysql->DELETE FROM user
->WHERE user=‘user_name’ and Host=‘host_name’;
mysql>FLUSH PRIVILEGES;
收回资料库使用权限的方法如下(以 MySQL root 进入):
mysql> revoke delete on addbook.* from maa@localhost;
Query OK, 0 rows affected (0.00 sec)
收回全部的权限
mysql> revoke all privileges on addbook.* from maa@localhost;
Query OK, 0 rows affected (0.00 sec)
增加和删除数据库
使用mysqladmin命令(增加)
MySQL\bin\mysqladmin -u root -p create dbtest
Enter password:********
Database "dbtest" created
使用mysqladmin命令(删除)
MySQL\bin\mysqladmin -u root -p drop dbtest
Enter password:********
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'dbtest' database [y/N]
y
Database "dbtest" dropped