MySQL中的用户,都存储在系统数据库mysql的user表中:

新建允许远端登陆的用户
%表示允许任何ip地址,可以换成固定的ip地址;
使用windows cmd远端登录MySQL,-P后面是MySQL的端口号,这里改为了8080(默认是3306);
自己改自己密码:
set password=password('新的密码');root用户修改指定用户的密码:
set password for '用户名'@'主机名'=password('新的密码'); 6.数据库的权限MySQL数据库提供的权限列表:
给用户授权:
刚创建的用户没有任何权限。需要给用户授权。
案例:
终端A: --使用root账号 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | 57test | | bit_index | | ccdata_pro | | innodb_test | | musicserver | | myisam_test | | mysql | | order_sys | | performance_schema | | scott | | sys | | test | | vod_system | +--------------------+ 14 rows in set (0.00 sec) mysql> use test; Database changed mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | account | | student | | user | +----------------+ 3 rows in set (0.01 sec) --给用户whb赋予test数据库下所有文件的select权限 mysql> grant select on test.* to 'whb'@'localhost'; Query OK, 0 rows affected (0.01 sec) 终端B: --使用whb账号 --终端B mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | +--------------------+ 1 row in set (0.00 sec) --暂停等root用户给whb赋完权之后,在查看 mysql> show databases; +--------------------+ | Database | +--------------------+ 注意:如果发现赋权限后,没有生效,执行如下指令: | information_schema | | test | --赋完权之后,就能看到新的表 +--------------------+ 2 rows in set (0.01 sec) mysql> use test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | account | | student | | user | +----------------+ 3 rows in set (0.00 sec) mysql> select * from account; +----+--------+---------+ | id | name | blance | +----+--------+---------+ | 2 | 李四 | 321.00 | | 3 | 王五 | 5432.00 | | 4 | 赵六 | 543.90 | | 5 | 赵六 | 543.90 | +----+--------+---------+ 4 rows in set (0.00 sec) --没有删除权限 mysql> delete from account; ERROR 1142 (42000): DELETE command denied to user 'whb'@'localhost' for table 'account'特定用户现有查看权限:
mysql> show grants for 'whb'@'%'; +-----------------------------------------------+ | Grants for whb@% | +-----------------------------------------------+ | GRANT USAGE ON *.* TO 'whb'@'%' | | GRANT ALL PRIVILEGES ON `test`.* TO 'whb'@'%' | +-----------------------------------------------+ 2 rows in set (0.00 sec) mysql> show grants for 'root'@'%'; +-------------------------------------------------------------+ | Grants for root@% | +-------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION | +-------------------------------------------------------------+ 1 row in set (0.00 sec)注意:如果发现赋权限后,没有生效,执行如下指令:
flush privileges;回收权限:
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';示例:
-- 回收whb对test数据库的所有权限 --root身份,终端A mysql> revoke all on test.* from 'whb'@'localhost'; Query OK, 0 rows affected (0.00 sec) --whb身份,终端B mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | test | +--------------------+ 2 rows in set (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | +--------------------+ 1 row in set (0.00 sec)