一、下载安装包

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 10E] Greedy Change

    Brief Introduction: 给你一些种类的硬币,用最少的硬币数表示X 求最小的使贪心算法错误的X Algorithm: 一道论文题,<A Polynomial-time Algori ...

  2. 【数位dp】hdu3555 Bomb

    题意就是找0到n有多少个数中含有49.数据范围接近10^20 DP的状态是2维的dp[len][3]dp[len][0] 代表长度为len不含49的方案数dp[len][1] 代表长度为len不含49 ...

  3. 【点分治】【乘法逆元】hdu4812 D Tree

    思路比较裸,但是要把答案存到哈希表里面,这里需要一定技巧,否则会被K=1且点权全是1的数据卡飞.预处理乘法逆元.TLE了一天.换了种点分治的姿势…… #pragma comment(linker,&q ...

  4. Problem H: 阶乘和

    #include<stdio.h> int main() { ; ; ; int n; scanf("%d",&n); ;i<=n;i++) { ret= ...

  5. 【MySQL笔记】数据定义语言DDL

    1.创建基本表   create table <表名> (<列名><数据类型>[列级完整性约束条件]                                 ...

  6. iOS UILabel自定义行间距

    NSString *hintStr = @"输入材料标题搜索材料\n注:可根据材料序号直接搜索, 如TPO23"; CGSize size = [toolset returnTex ...

  7. Swift开发经验——外部参数名

    一.什么是外部参数名? 浅显地说,外部参数名就是在调用一个方法时要在方法的参数前面加上一个特定的名字,目的是便于阅读代码,提高维护效率.   二.在最新的Xcode中,外部参数名的性质与用法如下 性质 ...

  8. P2P通信标准协议(二)之TURN

    上一篇P2P通信标准协议(一)介绍了在NAT上进行端口绑定的通用规则,应用程序可以根据这个协议来设计网络以外的通信. 但是,STUN/RFC5389协议里能处理的也只有市面上大多数的Cone NAT( ...

  9. Oracle查询库中记录数大于2千万的所有表

    Oracle查询库中记录数大于2千万的所有表 假如当前用户拥有select any table权限,则可以使用下列sql语句: select table_name, num_rows from dba ...

  10. uber shader

    shader 合在一起 用一些宏来控制 选哪部分编成一个想要的shader https://docs.unity3d.com/Manual/SL-MultipleProgramVariants.htm ...