CentOS 7.2 安装 MySQL 5.7.19

本贴最后更新于 2667 天前,其中的信息可能已经天翻地覆

系统:CentOS 7.2 64 位
mysql 版本:5.7.19

步骤 1 下载 mysql

到这里下载 选 linux 64 位
下载 Compressed TAR Archive 即可。
也可以复制下这个 tar 包的地址在服务器使用 wget 命令下载
如果下载速度太慢我推荐你用 迅雷 什么的下载,然后使用 scp 命令上传到你的服务器上。 scp 命令看这里

步骤 2 删除 CentOS 7 以上自带的 mariadb

查询已经安装的 mariadb

rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64

查询到版本之后,执行删除

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

这里如果没有删除,后面在装的时候会出错

步骤 3 创建 mysql 用户

如果你已经创建了 mysql 用户,跳过这个

groupadd mysql
useradd -g mysql mysql

步骤 4 删除 CentOS 自带的 my.cnf

CentOS 7 在 etc 目录下自带了 my.cnf 的配置文件,如果你跟我一样 有强迫症(我的电脑我说了算!)必需删除!

另外,my.cnf 在 mysql 5.7 中不是必需的文件

步骤 5 安装

// cd 到 tar 包目录下
// 解压 tar 包
tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

// 转移到 local 目录下 并重新命名
mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql

cd /usr/local/mysql
mkdir data // 创建 data 目录

// 修改目录及文件夹所属 mysql 用户
chown -R mysql ./
chgrp -R mysql ./

配置环境变量
vi ~/.bash_profile // 如果没有这个文件,创建即可

添加代码
MYSQL=/usr/local/mysql
export PATH=PATH:MYSQL/bin

source ~/.bash_profile //更新环境变量
echo $PATH //检查是否添加成功
安装和初始化数据库
mysqld --initialize --user=mysql

执行后你会看到

2017-08-29T11:44:46.928640Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-08-29T11:44:48.992203Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-08-29T11:44:49.215415Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-08-29T11:44:49.334991Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 495febba-dsad-wqee-e12r-00163e0ef324.
2017-08-29T11:44:49.336771Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-08-29T11:44:49.337235Z 1 [Note] A temporary password is generated for root@localhost: 8!,+4^qia8aJ

A temporary password 临时密码

存一下这个密码, 等下会用到

添加服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
mv /etc/init.d/mysql.server /etc/init.d/mysql  //改名为 mysql

systemctl daemon-reload // 更新
systemctl start mysql //启动 mysql 服务
登录 mysql
mysql -uroot -p'8!,+4^qia8aJ'

// 登录之后重置一下 mysql 的密码
alter user 'root'@'localhost' identified by 'mysqlroot'

至此 mysql 已经搭建完成

博主刚开始装的时候,没有删除 mariadb 结果报错报的死去活来的,耽误好长时间。
各位引以为戒。

在安装时遇到过了的问题:
问题 1: Can't connect to local MySQL server through socket '/tmp/mysql.sock'
这个是服务没有启动的问题 〜

问题 2:执行 systemctl start mysql 时 出现

2017-08-29T08:13:33.196215Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2017-08-29T08:13:33.902902Z mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended

感觉这个是因为 mariadb 没有删除,出现冲突的原因没有排查问题 后面删除了 mariadb 之后,一步流程全走通了。

在此记录,以备不时之需。

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    691 引用 • 535 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...