1. 背景

mysql安装教程很多,但是有不少讲得过于简单,没有考虑到安全问题。比如说,一些教程里,只设置一个root用户,并且对外网公开,一来容易被破解密码(用户名固定,破解难度自然降了一大截,而且总有很多用户设置的密码不算复杂),二来,一旦密码被破解,所有使用该数据库的网站都遭殃。

既安全又容易的做法是,安装完mysql之后,立马创建小号,给小号只分配特定db上的权限。以后,网站连接、自己远程都通过小号进行。

2. 实战(Ubuntu环境下)

2.1 安装mysql,一条语句就够了,在伪GUI里按照提示设置root密码。

sudo apt-get install mysql-server

2.2 修改mysql配置文件,使得Mysql监听来自外网的请求。注,只是监听请求,不代表现在任何账号都可以从外网登录,因为不是所有账号都有从外网访问的权限的。

sudo vim /etc/mysql/my.cnf
# 注释掉这行:bind-address = 127.0.0.1

2.3 用root账号登录mysql。输入密码,登录成功后,进入mysql控制台,在mysql控制台下,命令都以“mysql>”开头,接下来的步骤都是在mysql控制台中进行的。

mysql -u root -p

2.3 创建小号。例子里,用户名user1,密码user1pwd。注意,['user1'@'%']里的%表示,任意ip地址的客户端都可以使用user1登录。

mysql> create user 'user1'@'%' identified by 'user1pwd'
mysql> flush privileges;  # 使操作立即生效

2.4 给小号分配权限。注意,[web1_db.*] 表示小号拥有web1_db数据库的全部权限。

mysql> grant all privileges on web1_db.* to 'user1'@'%' identified by 'user1pwd';
mysql> flush privileges;  # 使操作立即生效

2.5 最后,重启mysql,尝试一下用小号远程登录吧~

sduo service mysql restart

MySQL初始化的正确姿势的更多相关文章

  1. 59.phpstudy升级Mysql的正确姿势

    phpstudy升级Mysql的正确姿势 phpstudy很糟心,不能选择mysql的版本,所以就强制升级. 下载mysql 首先要到官网上去下载你想要的mysql版本. 下载网址:Mysql官网地址 ...

  2. 转载 Python 操作 MySQL 的正确姿势 - 琉璃块

    Python 操作 MySQL 的正确姿势 收录待用,修改转载已取得腾讯云授权 作者 |邵建永 编辑 | 顾乡 使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能 ...

  3. MySQL初始化以及客户端工具的使用

    MySQL初始化以及客户端工具的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是关系型数据库 关系型数据库通常是把所有的数据都组织成二维关系.之所以称为关系型数据库是 ...

  4. 读取ClassPath下resource文件的正确姿势

    1.前言 为什么要写这篇文章?身为Java程序员你有没有过每次需要读取 ClassPath 下的资源文件的时候,都要去百度一下,然后看到下面的这种答案: Thread.currentThread(). ...

  5. laravel-nestedset:多级无限分类正确姿势

    laravel-nestedset:多级无限分类正确姿势   laravel-nestedset是一个关系型数据库遍历树的larvel4-5的插件包 目录: Nested Sets Model简介 安 ...

  6. 用 JavaScript 刷 LeetCode 的正确姿势【进阶】

    之前写了篇文章 用JavaScript刷LeetCode的正确姿势,简单总结一些用 JavaScript 刷力扣的基本调试技巧.最近又刷了点题,总结了些数据结构和算法,希望能对各为 JSer 刷题提供 ...

  7. Python创建二维列表的正确姿势

    Python创建二维列表的正确姿势 简介 Python中没有数组,使用list结构代替,并且list结构的功能更加强大: 支持动态扩容,无需担心元素过量 对list内的元素类型不做一致性约束 提供丰富 ...

  8. 如何成为一名合格的Apache项目Committer,参与Apache开源贡献的正确姿势

    近日,孙金城老师在 "Open Source Promotion Plan - Summer 2020" 开源软件供应链点亮计划做了<如何成为一名合格的Apache项目Com ...

  9. 判断是否为gif/png图片的正确姿势

    判断是否为gif/png图片的正确姿势 1.在能取到图片后缀的前提下 1 2 3 4 5 6 7 8 9 //假设这是一个网络获取的URL NSString *path = @"http:/ ...

随机推荐

  1. 1Z0-053 争议题目解析687

    1Z0-053 争议题目解析687 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 687.Users are connected to a database instance th ...

  2. 【LeetCode】Palindrome Pairs(336)

    1. Description Given a list of unique words. Find all pairs of distinct indices (i, j) in the given ...

  3. 关于本月第一天,本月最后一天的SQL代码

    DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)  --返回本月第一天 dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate() ...

  4. 用javascript编写的小游戏(getElementById , setInterval , clearInterval , window.onload , innerText 和页面跳转, 标签的使用)

    (1)图片轮转 <script type="text/javascript" > ; setInterval(function(){ var dom=document. ...

  5. WPF透明设置(Opacity)

    <TextBlock Text="阴影效果" FontSize="32"></TextBlock> <Border Height= ...

  6. [Q&A] 应用程序清单生成失败

    当在 Silverlight 客户端属性里(如下图),添加"允许在浏览器外运行应用程序"和"在浏览器内运行时需要提升的信任"时, 图1 目录下会自动生成如下两个 ...

  7. iOS学习笔记——使用ChildViewController

    之前在使用TableView的时候遇到过问题,需要使用另外的TableViewController来先存放TableView,原有的View则使用ViewContainer来引用TableViewCo ...

  8. 强大的自适应jQuery焦点图特效

    jQuery焦点图切换自适应效果 自适应jQuery焦点图特效是一款支持移动端的响应式jQuery焦点图插件,支持flexible布局,支持移动触摸事件等. 今天我们要来分享一款很灵活的jQuery焦 ...

  9. 从零开始学 Java - Spring MVC 实现跨域资源 CORS 请求

    论职业的重要性 问:为什么所有家长都希望自己的孩子成为公务员? 答:体面.有权.有钱又悠闲. 问:为什么所有家长都希望自己的孩子成为律师或医生? 答:体面.有钱.有技能. 问:为什么所有家长都不怎么知 ...

  10. 配置管理工具 Puppet的安装和使用

    今天碰到一个linux下的puppet的问题,才发现原来这个是 用ruby语言编写的自动化的管理工具.有兴趣的同学,可以学习下. 这里重点讲述下 mac下 puppet的安装方法: 在Mac下采用Gi ...