mysql安装后需要做的事情

举报
xenia 发表于 2019/09/03 23:42:35 2019/09/03
【摘要】 在《在ubuntu中安装mysql的一些记录》这篇文章介绍了如何安装mysql,接下去思考一个问题,安装后我应该做些什么呢?如何确保mysql服务是安全的呢?这篇文章借鉴官方文档理了下mysql安装后需要做的事情,总共有四个步骤。第一个步骤就是初始化目录,在Debian(包括Ubuntu)安装过程中,这个步骤是自动完成的,但我觉得初始化步骤对于理解mysql其实挺重要的。如果你使用源码安装,...

在《在ubuntu中安装mysql的一些记录》这篇文章介绍了如何安装mysql,接下去思考一个问题,安装后我应该做些什么呢?如何确保mysql服务是安全的呢?这篇文章借鉴官方文档理了下mysql安装后需要做的事情,总共有四个步骤。

第一个步骤就是初始化目录,在Debian(包括Ubuntu)安装过程中,这个步骤是自动完成的,但我觉得初始化步骤对于理解mysql其实挺重要的。如果你使用源码安装,或者觉得自己的mysql环境被破坏了(非线上业务),都可以通过该步骤恢复到初始状态。

初始化目录主要是了初始化系统数据库(数据库名为 mysql)和进行一些授权。

首先找到mysql的datadir目录,至于如何找到,可以进入mysql命令行执行 select @@datadir,在ubuntu上地址默认是 /var/lib/mysql。

然后删除这个目录下的所有文件,并停止 mysqld 服务。确保 /var/lib/mysql 目录的属组和属主是 mysql(不要使用 root 权限)。

接下去执行下列命令:

1.png

特别说明,mysql早期版本的datadir目录初始化脚本是 mysql_install_db,现在统一使用 mysqld,mysqld 也是mysql内置的服务。

其中 --user 参数表示以某个 linux 系统账户初始化目录,如果想变更 datadir 目录,可以显示的加上 --basedir 和 --datadir 参数。

--initialize-insecure 也可以使用 --initialize 参数代替,前者生成的 root 口令为空,而后者生成一个随机的口令(通过命令行输出能够看到)。

第二个步骤就是启动mysql服务,确保安装没有问题,在 Debain 系统下,一般执行下列命令:

2.png

如果使用 RPM 包安装的,执行下列命令:

3.png

至于 mysqld_safe 和 mysqld 的区别,后续再说,可以简单认为 mysqld_safe 是 mysql 的一个外壳程序。

第三个步骤是测试mysql服务是否正常,其实很简单,就是看看mysql状态、版本等信息,具体就是mysql内置的一些程序,比如:

4.png

在执行的时候,都需要root密码(当然root密码可以为空,具体见第一个步骤)。

第四个步骤很关键,就是初始化你的root密码,避免带来安全问题。在安装mysql的时候,root密码是如何创建的?下面简单列举下:

  • 如果在windows中安装,安装程序会有选项让你配置密码。

  • 如果使用RPM包安装,会生成一个随机密码,密码值在服务器error log 中。

  • 如果在Debian中安装,会通过选项让你自己选择一个密码,但我在Ubuntu 16 中并没有,具体见《在ubuntu中安装mysql的一些记录》这篇文章。

  • 手动初始化目录的时候,也有针对密码的处理,具体见本文第一个步骤中的描述。

root 密码(在 mysql.user 表)非常重要,它拥有所有的权限,所以应该谨慎。

不管密码是什么,建议第一次启动后,重新初始化,执行下列命令即可:

5.png

启动过程中可能会遇到很多问题,这个有机会再讲,因为有很多基础知识还没说,如果提前解释启动过程中的一些问题,反而会影响理解。


本文转载自异步社区

原文链接:https://www.epubit.com/articleDetails?id=N353279d1-1d51-4378-bedb-b43648766676

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。