mysql-用户权限
来源:互联网 发布:病态函数 知乎 编辑:程序博客网 时间:2024/04/29 17:25
研究mysql用户权限是有原因的,惨痛的教训。
代码放到git上面的时候,不小心把服务器IP、数据库用户名、密码都泄露了,当初懒,只设了两个拥有各种权限的用户,结果就是数据库被清空了,还留了QQ,加QQ付钱给还原数据。倔强如我,数据库卸了重装!庆幸里面没放很重要的数据,而且还有备份。
所以有了前面安装mysql的博文。讲正事儿,mysql的用户权限。
废话不多说,上命令:
root@ip-x-x-x-:~# mysql -u username -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 147Server version: 5.5.53-0ubuntu0.14.04.1 (Ubuntu)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases; # 看一下有哪些数据库+--------------------+| Database |+--------------------+| information_schema || db_xxx || db_xxx || db_xxx || db_xxx || mysql || performance_schema |+--------------------+n rows in set (0.01 sec)mysql> use mysql; # 切换到mysql数据库Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> show tables; # 看一下有哪些数据表,我们要用的是user表+---------------------------+| Tables_in_mysql |+---------------------------+| columns_priv || db || event || func || general_log || help_category || help_keyword || help_relation || help_topic || host || ndb_binlog_index || plugin || proc || procs_priv || proxies_priv || servers || slow_log || tables_priv || time_zone || time_zone_leap_second || time_zone_name || time_zone_transition || time_zone_transition_type || user |+---------------------------+24 rows in set (0.00 sec)mysql> select user, host, password from user;+---------------+-----------+------------------+| user | host | password |+---------------+-----------+------------------+| usename1 | ip1 | password || usename2 | ip2 | password |+---------------+-----------+------------------+n rows in set (0.00 sec)# 这里说明一下,host字段为“%”的表示允许所有ip使用此用户访问# 创建一个所有ip可用的用户mysql> CREATE USER 'newuser'@'%' IDENTIFIED BY '123'; Query OK, 0 rows affected (0.02 sec)mysql> select user, host, password from user;+--------------+----------------+---------------+| user | host | password |+--------------+----------------+---------------+| newuser | % | *23AE809DDAC |+--------------+----------------+---------------+12 rows in set (0.00 sec)# 创建一个仅能在本地使用的用户mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY '123'; Query OK, 0 rows affected (0.00 sec)mysql> select user, host, password from user;+--------------+----------------+---------------+| user | host | password |+--------------+----------------+---------------+| newuser | % | *23AE809DDAC || newuser | localhost | *23AE809DDAC |+--------------+----------------+---------------+12 rows in set (0.00 sec)# 添加完之后刷新一下mysql> flush privileges;# 接下来给用户分配权限# 语句格式如下:grant authority on database.table to username@host identified by password;mysql> grant select, update, insert on db_name.* to 'username'@'host' identified by 'password';mysql> flush privileges;mysql> show grants for 'username'@'host';+----------------------------------------------+| Grants for mysql_app@% |+----------------------------------------------+| GRANT USAGE ON *.* TO 'username'@'host' IDENTIFIED BY PASSWORD '*passwd' || GRANT SELECT, INSERT, UPDATE ON `database`.* TO 'username'@'host' |+-------------------------------------+2 rows in set (0.00 sec)# 完毕
再来看一下精简的命令。
# 登录数据库root@ip-x-x-x-:~# mysql -u username -pEnter password: # 切换数据库mysql> use mysql;# 查看存在的用户mysql> select user, host, password from user;# 创建新用户 "host"部分可以是ip,%表示任意ipmysql> CREATE USER 'username'@'host' IDENTIFIED BY 'passwd';# 刷新一下mysql> flush privileges;# 给新用户赋权限mysql> grant select, update, insert on db_name.* to 'username'@'host' identified by 'password';# 刷新一下mysql> flush privileges;# 完毕
写在最后:删表等操作赋权限要慎重,建议多用户分邦(数据库)而治。
0 0
- MySQL用户权限
- MySQL用户权限
- mysql用户权限
- MySql 用户权限
- Mysql 用户权限
- mysql 用户权限
- mysql 用户权限
- MySQL用户权限
- mysql 用户权限
- MySQL用户权限
- MySQL 用户权限
- Mysql用户权限
- Mysql 用户权限
- mysql-用户权限
- mysql用户权限
- MYSQL用户权限
- MYSQL用户权限设置教程
- mysql创建用户权限语法
- 勿忘国耻,振兴中华!
- Android监听网络切换
- 1613-3-傅溥衍 总结《2016年12月13日》【连续第七十四天总结】
- left join on and与left join on where的区别
- "科林明伦杯"哈尔滨理工大学第六届程序设计团队赛(流水账)
- mysql-用户权限
- [LeetCode]27. Remove Element
- 关于cron表达式:
- 常见的RDD转化和行动操作算子
- 让TableView自动滑动(定位)到某一行
- [Leetcode] Remove Duplicates from Sorted Array
- 51Nod 1272 最大距离
- vs2015密钥
- 为opentack 日志添加行号