ubuntu安装Mysql数据库及安全配置
前言
与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说数据库系统安全
目录 前言 与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说数据库系统安全,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本.... 本次文章介绍了在ubuntu系统下如何安装mysql数据库 以及安装之后你应当如何配置root密码认证和其他基本安全配置,还介绍了增加普通账号 并赋予相应的最小权限,及如何远程访问数据库... 每一次命令都有相应的截图 十分的详细 非常适合新手朋友们学习。 安装mysql 直接运行命令 安装mysql
命令成功执行后 mysql服务应该是成功启动 监听在本地127.0.0.1的端口3306 意思是只能本地连接mysql 不对外开放 当然如果你有这个需求 可以监听在网卡上 只需修改配置文件就行。这个稍后会说 ,让我们先配置下基本的安全策略 mysql基本安全配置 初次安装mysql 建议运行下面的命令 快捷地对数据库做基本的安全配置,像root 密码了,密码复杂度了...
1.增加密码组件 询问我们是否要设置验证密码组件?y 2.设置root密码 可以看到数据库为我们提供了三种密码策略 中级策略 长度大于等于8位 需是数字 字母大小写 特殊字符的组合 选择一种密码策略 enter 0 这里出了点错误,密码一直不能通过 即使我没有选择y 也不是密码不符合要求 提示我们要使用alter user 的方式来设置密码 好吧 我们先进入数据库把密码设置一下 之后继续配置
需要注意的是默认的密码策略是中级 必须是数字大小写字母 特殊符号的8位以上组合 成功后 exit 退出 继续 sudo mysql_secure_installation 进行配置 已经设置过密码不需要改变密码了 Press n 3.禁用匿名用户 要移除匿名用户吗? 我们肯定不希望系统的数据库随便被他人查看 所以最好移除掉匿名用户 假如我是学校教数据库的老师 ,我希望每个学生都能够连接上这个数据 练习sql语句 ,那匿名访问再合适不过了。 4.root 远程登录 正常地 root用户只允许本地 你是否禁用掉root的远程登录 ?n root是数据库的最高权限用户 ,如果可以远程登录存在暴力破解的可能,如果需要远程登录 我们最好设置一个普通权限的用户,这点稍后会说 5.移除test数据库 默认情况下下 数据库为开发者们提供了一个名为test数据库 供学习与测试 如果你不需要 最好将它移除掉 6.刷新权限表 与配置文件不同 我们在数据库所做的所有配置 都存在了sql数据库中权限表里 询问我们要reload吗 y 这里就全部配置好了 登录数据查看基本配置 要进入数据库 这时候就需要使用密码登录了
查看当前数据库下存在的用户
(这里仍然可以使用之前的命令alter user 'root'@'localhost' identified with mysql_native_password by by '123.Shelter';修改密码) 可以看到root是本地用户 密码是hash后的值 查看当前密码安全策略 mysql> select @@validate_password_policy; 查看具体的设置项 mysql> SHOW VARIABLES LIKE 'validate_password%'; 这里可以再次设置策略 如 mysql> set global validate_password_policy=0; 增加数据库普通账号及分配相应权限 假设我们现在想增加一个pikaqiu的账号 为了安全考虑 这个账号只允许访问pikaqiu数据库 1.先建立一个数据库
2.增加账号
3.应用权限
pikaqiu这个账号只拥有 pikaqiu库的权限 4.刷新权限
接下来测试一下 登录pikaqiu账号看看它是否能访问其他数据库 可以看到相较于root用户下的库 这已经少了很多 配置数据库远程登录 假设我们有需求 在外面web服务器要使用远程访问这台数据库 那么要什么设置呢。 1.增加一个远程账号
2.添加一个数据库 这里为了测试我添加了一个名为ssh的数据库
3.限制远程访问权限 我只想让ssh这个用户 只访问ssh这个数据库 因此
(这个命令需要sudo 权限下mysql) 4.修改配置文件 监听网卡端口 这里还没有结束 因为此时还在监听本地回环地址呢 先flush privileges; 一下 之后退出mysql
5.重启服务
可以使用 ss -anplt | grep 3306 查看鉴定端口是否改变 这里我用同学的电脑数据库的客户端连接测试 可以看到 远程成功地连接上了数据库 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |