一、下载安装包

1.在官网下载MySQL5.7安装包

mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz。

下载地址:https://dev.mysql.com/downloads/mysql/

由于安装包比较大,五六百M吧,再加上官网下载速度很慢,如果你等不急,可以使用下面第二种方法下载。

2.百度网盘资源

链接:https://pan.baidu.com/s/1w98R36MzVwJCiZyeLEFe9A
提取码:8wro

如果该链接失效,可以留言或站内信提醒我更新链接

二、创建mysql用户组和mysql用户

添加 mysql 组和 mysql 用户:
      添加 mysql 组:[root@localhost ~]# groupadd mysql
      添加 mysql 用户:[root@localhost ~]# useradd -r -g mysql mysql
      扩展:
        查看是否存在 mysql 组:[root@localhost ~]# more /etc/roup | grep mysql
        查看 msyql 属于哪个组:[root@localhost ~]# groups mysql
        查看当前活跃的用户列表:[root@localhost ~]# w

三、将MySQL安装包上传并解压

我一般都是上传到/usr/local/目录,然后解压

# tar -xzvf mysql-5.7.-linux-glibc2.-x86_64.tar.gz

四、安装MySQL前的一些准备

由于解压后的mysql文件夹太长,需要重命名下为mysql

[root@localhost local]# mv ./mysql-5.7.-linux-glibc2.-x86_64 ./mysql

修改权限

[root@localhost local]# chown -R mysql . // 把文件改为mysql用户可操作
[root@localhost local]# chgrp -R mysql . // 属组改为mysql组

检查是否安装了 libaio

[root@localhost pub]# rpm -qa | grep libaio

若没有则安装

  版本检查:

[root@localhost pub]# yum search libaio

  安装:

[root@localhost pub]# yum -y install libaio

五、安装MySQL

进入安装 mysql 软件目录:

[root@localhost ~]# cd /usr/local/mysql/

安装配置文件:

[root@localhost mysql]# cp ./support-files/my-default.cnf /etc/my.cnf(提示是否覆盖,输入“ y ”同意)

修改被覆盖后的 my.cnf:

[root@localhost mysql]# vim /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#skip-name-resolve
#设置3306端口
port =
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name=
max_allowed_packet=16M

这边有的版本需要解决这个问题:MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)

在mysql目录下创建data目录,作为数据存储位置

[root@localhost local]# cd ./mysql/
[root@localhost mysql]# ls
bin COPYING docs include lib man README share support-files
[root@localhost mysql]# mkdir ./data/

修改当前目录拥有者为 mysql 用户

[root@localhost mysql]# chown -R mysql:mysql ./

初始化mysqld,为了清晰,我这边都是用的绝对路径,出现下面这些信息,就代表mysql配置成功了。

[root@localhost bin]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
--23T03::.084331Z [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
--23T03::.361136Z [Warning] InnoDB: New log files created, LSN=
--23T03::.447653Z [Warning] InnoDB: Creating foreign key constraint system tables.
--23T03::.549908Z [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: 97d6a462--11e9-8f84-000c2928b075.
--23T03::.551132Z [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
--23T03::.552764Z [Note] A temporary password is generated for root@localhost: ClTbfl(<=4Qd

最重要的是最后一行,框框里的这个就是mysql里root的初始密码了

六、配置MySQL

1 设置开机启动 

a. 复制启动脚本到资源目录

[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

b. 增加 mysqld 服务控制脚本执行权限

[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

c. 将 mysqld 服务加入到系统服务

[root@localhost mysql]# chkconfig --add mysqld

d. 检查mysqld服务是否已经生效

[root@localhost mysql]# chkconfig --list mysqld

命令输出类似下面的结果

mysqld :off :off :on :on :on :on :off       

表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用 service 命令控制 mysql 的启动和停止。

查看启动项

chkconfig --list | grep -i mysql

删除启动项

chkconfig --del mysql

e. 启动 mysqld

[root@localhost mysql]# service mysqld start

.2 环境变量配置

    将mysql的bin目录加入PATH环境变量,编辑 /etc/profile文件:

[root@localhost mysql]# vim /etc/profile
PATH = $PATH:/usr/local/mysql/bin
export PATH

    执行命令使其生效:

[root@localhost mysql]# source /etc/profile

    用 export 命令查看PATH值:

[root@localhost mysql]# echo $PATH

七、登录 mysql

1 测试登录

登录 mysql

[root@localhost mysql]# mysql -uroot -p(登录密码为初始化的时候显示的临时密码)

初次登录需要设置密码才能进行后续的数据库操作

SET PASSWORD = PASSWORD('');(密码设置为了123456)

修改密码为 password

update user set authentication_string=PASSWORD('password') where User='root';

2 防火墙端口设置,便于远程访问

[root@localhost ~]$ firewall-cmd --zone=public --add-port=/tcp --permanent

[root@localhost ~]$ firewall-cmd --reload

  开启防火墙mysql3306端口的外部访问

  CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口

  --zone : 作用域,网络区域定义了网络连接的可信等级。

    这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接

  --add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp

  --permanent : 永久生效,没有此参数系统重启后端口访问失效

3 使用 SQLyog 远程连接出现不允许连接问题:

    首先使用 dos 窗口 ping 一下 linux,排除网络连通问题,其次使用 SQLyog 连接测试一下。

    解决方法:登录 linux mysql 在用户管理表新增用户帐号

      mysql> use msyql

      mysql> create user 'user-name'@'ip-address' identified by 'password';(红色标记为需要修改的地方)

    其他方案:

      授权root用户可以进行远程连接,注意替换以下代码中的“password”为 root 用户真正的密码,

      另外请注意如果你的root用户设置的是弱口令,那么非常不建议你这么干!:   

mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option;
mysql> flush privileges;

MySql(零):Linux(CentOS7)下安装和配置MySQL5.7.20(安装包安装)的更多相关文章

  1. apache svn subversion安装和配置(使用源码安装包方式)

    环境:虚拟机下centos7 1.下载安装包:http://subversion.apache.org/download.cgi 2.上传到指定文件夹并解压 3.安装依赖包 apr apr-utils ...

  2. 安装包安装npm

    在阿里云机器上centos7安装npm可以直接yum安装,然后基于镜像的时候安装不了,直接使用安装包安装,记录一下: 官网下载地址:https://nodejs.org/en/download/ #! ...

  3. Linux - centos7 下 MySQL(mariadb) 和 主从复制

    目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...

  4. Linux(CentOS7)下二进制安装MySQL5.7.26

    记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...

  5. Linux CentOs7 下安装 redis

    Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装  命令如下 $ yum install gcc-c++ $ wget ht ...

  6. (转)LINUX CENTOS7下安装PYTHON

    LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 ...

  7. Linux CentOS7下安装Zookeeper-3.4.10服务(最新)

    Linux CentOS7下安装Zookeeper-3.4.10服务(最新) 2017年10月27日 01:25:26 极速-蜗牛 阅读数:1933   版权声明:本文为博主原创文章,未经博主允许不得 ...

  8. Linux(CentOS7)下配置多个tomcat

    记录 Linux(CentOS7) 下配置多个 tomcat 的操作过程. 一.下载tomcat 前提:安装配置好jdk环境,未配置可参考Linux(CentOS7)下安装jdk1.8. 从 tomc ...

  9. Linux(CentOS7)下安装jdk1.8

    Linux(CentOS7) 下安装 jdk1.8 操作过程. 一.检查是否自带jdk rpm -qa|grep java 如果存在则用下面命令删除,xxx yyy zzz代表查询出来的自带jdk名称 ...

随机推荐

  1. CodeForces 348C Subset Sums(分块)(nsqrtn)

    C. Subset Sums time limit per test 3 seconds memory limit per test 256 megabytes input standard inpu ...

  2. 学习LSM(Linux security module)之二:编写并运行一个简单的demo

    各种折腾,经过了一个蛋疼的周末,终于在Ubuntu14.04上运行了一个基于LSM的简单demo程序. 一:程序编写 先简单的看一下这个demo: //demo_lsm.c#include <l ...

  3. [HDU5739]Fantasia(圆方树DP)

    题意:给一张无向点带有权无向图.定义连通图的权值为图中各点权的乘积,图的权值为其包含的各连通图的权和.设z_i为删除i点后图的权值,求$S = (\sum\limits_{i=1}^{n}i\cdot ...

  4. 【基数排序】bzoj1901 Zju2112 Dynamic Rankings

    论NOIP级别的n²算法…… 跟分块比起来,理论上十万的数据只慢4.5倍左右的样子…… #include<cstdio> #include<algorithm> using n ...

  5. Java多线程——AQS框架源码阅读

    AQS,全称AbstractQueuedSynchronizer,是Concurrent包锁的核心,没有AQS就没有Java的Concurrent包.它到底是个什么,我们来看看源码的第一段注解是怎么说 ...

  6. Java高级架构师(一)第13节:Spring MVC实现Web层开发

    package com.sishuok.architecture1.customermgr.web; import org.springframework.beans.factory.annotati ...

  7. mysql用unix时间戳统计一个日期段的数据

    select DATE_FORMAT(FROM_UNIXTIME(date),'%Y-%m-%d') as d, count(*) as c from tb where (FROM_UNIXTIME( ...

  8. UITextField增加textDidChange回调功能

    在使用UITextField来判断登陆按钮状态时只有 shouldChangeCharactersInRange函数,是在文件还没有改变前就调用了,而不是在改变后调用,要想实现改变后调用的功能,导致登 ...

  9. 使用原生JS进行字符串转对象

    字符串转对象 目的 工作中如果需要原生 JS 完成字符转对象的话可以通过 JSON.parse(str), 但是这个方法是ES5中才出现, 如果需要兼容低版本就需要其它方法 使用原生 JS 解决字符串 ...

  10. HttpApplication理解

    HttpApplication对象是经由HttpApplicationFactory.GetApplicationInstance(并最终调用HttpRuntime.CreateNonPublicIn ...