mysql数据库的访问控制
来源:互联网 发布:js倒计时源代码 编辑:程序博客网 时间:2024/06/06 00:20
环境:Linux mysql
当前用户:root
1.默认访问
mysql安装完成之后,默认是没有密码的,可使用命令“mysql”进入数据库,也可使用命令“mysql -uroot -p”登录,会提示输入密码,不用理会,直接enter即可。mysql安装后,有3个数据库MySQL,TEST,INFORMATION_SCHEMA。
其中,mysql数据库的user表记录了当前用户的权限信息。进入数据库命令行后,使用“use mysql;select host,user,password from user”命令,可查看user账号信息,如下所示:
默认情况下是没有密码的,而且可以以任何账号空密码登录,如“mysql -urr -p”,提示输入密码,直接跳过即可。
2.远程访问
默认情况下,数据库只能本地访问,是不支持远程进行访问的,但这明显不能满足项目的需要,项目中数据库不一定与服务在同一台机器上,所以需要对远程访问的数据库开启远程访问权限:进入mysql命令行,使用“use db”选择需要设置的数据库(后续如果新增数据库时,都需要执行grant,如果不想这么麻烦的每新增一个数据库就执行一次,可以不选择数据库直接执行“grant all on *.* to 'root' identified by 'root1234'”,这对所有数据库生效,不论是已经存在的还是将来要创建的),执行“grant all on * to 'root' identified by 'root1234'”,即root用户(密码为root1234)拥有对该数据库处理的所有权限,该命令执行完毕后,会在mysql数据库user表中产生一条记录,如下图所示
host(主机的意思)为"%",表示所有远程访问的主机。如果在执行grant命令前,mysql数据user表中已经存在Host为%,User为root的记录,则对其进行修改,否则新增一条记录。远程访问时,都使用图中最后一条记录来验证访问用户是否合法,不影响本地无密码访问。也可指定用户名与ip,如grant all on * to 'sel'@'10.10.10.79' identified by 'sel1234',则在user表中生成一条host为host为10.10.10.79,user为sel,密码为sel1234的记录。
3.密码访问
本地访问时,为了安全性上的考虑也可设置密码。密码的设置提供2种方式:
1)登入mysql命令行,“use mysql”选中mysql默认数据库,对其user表进行设置:
update user set password=PASSWORD(“要设置的密码”)where User = “root"
PASSWORD(“要设置的密码”)是对密码进行加密后存储到数据库(使用”update user set password=“要设置的密码”where User = “root" “是不加密的,不要使用)。这种方式设置后不会立即生效,需要重启数据库之后才能生效。
2)mysql密码为空时,可使用mysqladmin -uroot password ‘新密码’来修改密码;mysql密码不为空时,可使用mysqladmin -uroot -p password ‘新密码’ 来修改密码,这种方式修改密码后立即生效。
密码修改后,登录时直接输入"mysql"会报错,需使用命令“mysql -uroot -p”,提示输入密码,正确输入密码即可。
注:
如果对一个数据库执行了“grant all on * to 'root'@xx identified by 'root1234'”(产生ip为xx,user为root的记录),同时也对所有数据库执行了“grant all on *.* to 'root' identified by 'root1234'”(产生ip为%,user为root的记录),在这两种并存的情况下,以最严格的限制为主,即“产生ip为xx,user为root的记录”生效,所以后续新增数据库时,需要继续执行grant命令,才能被外界访问。
- mysql数据库的访问控制
- 郁闷的访问mysql数据库
- *linux下数据库的访问与控制*
- Oracle数据库访问控制
- PHP的数据库访问类,MYSQL的
- python+mysql:简单的数据库控制脚本
- 远程访问MySql数据库的方法
- JSP访问MySQL数据库的简单测试
- qt访问 mysql 数据库的简单教程[
- 一个简单访问Mysql数据库的例程
- 实现PHP访问MYSQL数据库的类
- JDBC 的 HelloWorld 程序, 数据库访问MySQL
- 远程访问ubuntu上的mysql数据库
- C#访问MySQL数据库的方法
- 远程访问MySQL数据库的方法小结
- python访问mysql数据库的两个实例
- Java访问Mysql数据库的实例
- Java 访问带有密码的 Mysql数据库
- 通知栏清理与查询
- solr 简单搭建 数据库数据同步(待续)
- (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
- html相关笔记,我所不知道的,没注意到的,或者称之为常识...
- HDU 1506 Largest Rectangle in a Histogram
- mysql数据库的访问控制
- 推荐无弹窗无广告小说网
- Vector的用法
- ios新手沙盒 通知
- uva11235
- 777
- 使用OpenSessionInViewFilter解决懒加载问题
- 【二分匹配】 HDOJ 3118
- stdafx.h 预编译头文件