centos7 安装 mysql5.7

本贴最后更新于 1887 天前,其中的信息可能已经渤澥桑田

下载安装包:

1.网络下载: wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

2.安装包下载:在 MySQL 官网下载 5.7 后缀为 tar.gz 压缩包,然后拉到服务器

解压文件:

1.tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

1.cp mysql-5.7.22-linux-glibc2/* /usr/local/mysql -r

2.如果是网络下载,就先切换到系统目录

1.cd /usr/local/ 文件如果不存在就自己创建

mkdir local cd /usr/local/

2.解压文件 tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

创建文件夹:

1.cd /usr/local/mysql/

2.mkdir data(文件存储和安装)

添加系统 MySQL 组和 MySQL 用户:

添加系统 MySQL 组:groupadd MySQL

添加 MySQL 用户:useradd -r -g MySQL MySQL (添加完成后可用 id MySQL 查看)

安装数据库

切到 MySQL 目录:cd /usr/local/mysql

修改当前目录拥有者为 MySQL 用户:chown -R mysql:mysql ./

修改当前 data 目录拥有者为 MySQL 用户 chown -R mysql:mysql data

安装数据库:bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

报错:error while loading shared libraries: libaio.so.1: cannot open shared object file:

处理方法:yum install -y libaio #安装后重新启动就行

报错:如果遇到日志文件错误

处理方法:删除 my.cnf 文件

注意:生成的随机密码结尾有 root@localhost:xxxxxx;冒号后面是密码

配置 my.cnf

VIM /etc/my.cnf (直接把下面内容复制上就行)

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

#不区分大小写 (sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 这个简单来说就是 SQL 语句是否严格)

lower_case_table_names = 1

log-error=/var/log/mysqld.log

pid-file=/usr/local/mysql/data/mysqld.pid

添加开机启动 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

修改 VIM /etc/init.d/mysqld

添加路径 在 46 行

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

启动 MySQL

service mysqld start

启动报错: The server quit without updating PID file (/usr/local/mysql/data/VM_0_16_centos.pid).

报错解决:/etc/init.d/mysql start

加入开机起动 chkconfig --add mysqld

登录修改密码

如果连接不上报错-bash: MYSQL: command not found

alias mysql=/usr/local/mysql/bin/mysql

MySQL -uroot -p 上面初始化时的密码,直接加载 p 后面就行,不用加空格

SQL 语句必必须添加分号;

mysql> set password=password("new password");(设置的新密码)

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;(配置立马生效)

Query OK, 0 rows affected, 1 warning (0.00 sec)

顺带说下,在 MySQL 里面输入 quit 或者 exit 可以退出 MySQL

MySQL 远程连接

在 MySQL 界面输入:GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;(mypassword 刚才设置的密码)

mysql> flush privileges;(配置立马生效)

开启 3306 端口(也可以使用 firewall 打开端口)

开启端口方法(2020.2.14 补上)

firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放 3306 端口

firewall-cmd --zone=public --remove-port=3306/tcp --permanent #关闭 3306 端口

firewall-cmd --reload # 配置立即生效

CentOS 7.0 默认使用的是 firewall 作为防火墙,这里改为 iptables 防火墙。

  1. 关闭 firewall:

systemctl stop firewalld.service

systemctl disable firewalld.service

systemctl mask firewalld.service

  1. 安装 iptables 防火墙

yum install iptables-services -y

3.启动设置防火墙

systemctl enable iptables

systemctl start iptables

4.查看防火墙状态

systemctl status iptables

5 编辑防火墙,增加端口

vi /etc/sysconfig/iptables #编辑防火墙配置文件

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

:wq! #保存退出

3.重启配置,重启系统

systemctl restart iptables.service #重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

服务器的访问层开启后,阿里云(腾讯云)也要开启,添加安全组,默认访问全部开启,就可以访问数据库了

修改数据库密码:

1.cd /etc/

2.vim my.cnf

添加下面语句:

3.skip-grant-tables

修改 Linux MySQL 5.7 版本密码语句

4.use mysql;

5.update mysql.user set authentication_string=password('新密码') where user='root';

6.flush privileges;

  • MySQL

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

    693 引用 • 537 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    171 引用 • 1533 回帖
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 80 关注
  • 安全

    安全永远都不是一个小问题。

    203 引用 • 818 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 762 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    412 引用 • 3588 回帖
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 24 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖 • 2 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖 • 5 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 344 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 675 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    176 引用 • 3860 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 657 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    213 引用 • 291 回帖 • 372 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 45 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    495 引用 • 931 回帖 • 2 关注
  • 电影

    这是一个不能说的秘密。

    122 引用 • 608 回帖
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    54 引用 • 44 回帖
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖 • 1 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    345 引用 • 749 回帖
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 3 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 792 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 229 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 636 关注