linux mysql 密码配置文件_Linux 下 MySQL8.0 安装踩坑以及配置文件、修改初始密码...

Linux 下 MySQL8.0 安装踩坑以及配置文件、修改初始密码

发布时间:2018-11-27 11:16,

浏览次数:1599

, 标签:

Linux

MySQL

最近装了国产的基于Linux的操作系统 deepin,整体感觉还不错,想详细了解的可以去我的公众号【大学IT圈】了解。

这篇文章来记录我在 Linux 上安装 MySQL8 的过程。

首先下载安装包

官网地址:https://dev.mysql.com/downloads/mysql/

下载地址(64位):https://dev.mysql.com/downloads/file/?id=480751

需要 32 位的可以去官网地址找。

下载的文件应该是一个 mysql*.tar.xz 格式的压缩包,这里需要先对 .xz 解压

xz -c mysql*.tar.xz

结果是一个 tar 文件,解压即可(在这里 * 号不代表通配符,仅表示省略,使用时换成自己的文件名)

tar -xvf mysql*.tar mv mysql* /usr/local/mysql

OK,到这里我们就得到 MySQL 的文件夹了,并且将他移动到了 /usr/local 目录下改名为 mysql 。

在这里我们新建一个 mysql 用户组和用户用来运行 mysql,这样可以提高系统的安全行性。

groupadd mysql useradd -M -g mysql -s /sbin/nologin mysql passwd mysql

上面的命令新建一个用户组,再新建一个用户并且不可以登录,不创建家目录。第二句命令给 mysql 用户改密码。

我们在根目录下新建一个 data 目录存放 mysql 数据的存放目录。

sudo mkdir -p /data/mysql sudo chown -R mysql.mysql /data

创建 /data 目录并且将目录属主设置为 mysql.

接下来创建 mysql 的配置文件 /etc/my.cnf

sudo vim /etc/my.cnf

# MySQL 配置文件, #参考:http://blog.51cto.com/zhangxinqi/2178407 #

https://www.cnblogs.com/lyq863987322/p/8074749.html # 数据库目录 /data/mysql

[client] port=3306 # mysql socket 文件存放地址 socket=/tmp/mysql.sock # 默认字符集

default-character-set=utf8 [mysqld] server-id=1 # 端口 port=3306 # 运行用户

user=mysql # 最大连接 max_connections=200 socket=/tmp/mysql.sock # mysql

安装目录(解压后文件的目录) basedir=/usr/local/mysql # 数据目录(这里放在我们新建的 /data/mysql 下)

datadir=/data/mysql pid-file=/data/mysql/mysql.pid init-connect='SET NAMES

utf8' character-set-server=utf8 # 数据库引擎 default-storage-engine=INNODB

log_error=/data/mysql/mysql-error.log

slow_query_log_file=/data/mysql/mysql-slow.log # 跳过验证密码 #skip-grant-tables

[mysqldump] quick max_allowed_packet=16M EOF

OK,到这里配置文件就建好了,上面是我自己的配置,在 mysql 启动的时候就会自动读取这个配置文件。

可能会有好几个地方有 mysql 的配置文件,它的读取顺序是这样的

* /etc/my.cnf

* basedir/my.cnf

* datadir/my.cnf

* –defaults-extra-file #在读取全局配置文件之后,读取用户配置文件 (~/.my.cnf)之前,读取extra指定的参数文件

* ~/.my.cnf

所以我们在 /etc 下的配置文件 my.cnf 是第一个读取的文件,读到这个文件后就不会在读后面路劲中的配置文件。

现在让我们进入解压后的 mysql 目录,进行 mysql 初始化:

bin/mysqld --initialize

安装的结果是这样的:

在橘色线框中的部分,是自动生成的 root 密码,待会儿我们要用这个密码进行登录。

在我重装 mysql 的时候,遇到了初始化的时候没有任何输出的问题,也没有找到日志文件,结果不知道初始密码是什么,只能通过跳过登录验证的方式重置密码。

启动 MySQL

sudo ./support-files/mysql.server start

OK,启动成功,接下来登录 MySQL

bin/mysql -u root -p

然后输入刚刚自动生成的 root 密码即可

修改初始密码

整个过程都比较顺利,没想到在这里踩坑了,试了好几个命令都这样的报错

ERROR 1820 (HY000): You must reset your password using ALTER USER statement

before executing this statement.

最后执行以下三个命令之一成功。

下面三个命令任选其一

alter user 'root'@'localhost' identified by 'new password'; ALTER USER USER()

IDENTIFIED BY 'new password'; ALTER USER 'root'@'localhost' IDENTIFIED WITH

mysql_native_password BY 'new password';

OK,安装成功

联系我请移步公众号:大学IT圈

你可能感兴趣的:(linux,mysql,密码配置文件)