一、下载安装包

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. 51nod 子序列的个数(动态规划)

    子序列的个数 给定一个正整数序列,序列中元素的个数和元素值大小都不超过105, 求其所有子序列的个数.注意相同的只算一次:例如 {1,2,1}有子序列{1} {2} {1,2} {2,1}和{1,2, ...

  2. 【块状树】bzoj3720 Gty的妹子树

    块状树.教程见:http://z55250825.blog.163.com/blog/static/1502308092014163413858/将树按一定大小分块,分成许多子树,在每个子树的根节点记 ...

  3. 【知识点总结】NOIP前夕 2014.11.4

    2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点: 一.数论 1.素数判断 2.筛法求素数 3.求一个数的欧拉函数值 4.预处理欧拉函数 5.卡塔兰数递推式 6.快速幂(模素数 ...

  4. [POI2005]Toy Cars

    题目大意: 有n种物品,地上有k个格子,p次操作. 每次操作要求将某一个指定的物品移动到任意一个格子中,同时你可以选择是否将格子中的某一个物品收起来,并消耗1的代价. 如果下达指令时,这个物品刚好在格 ...

  5. [Interview]读懂面试问题,在面试官面前变被动为主动

    面试是供需双方心理的较量,作为求职者来说,了解对方问题的内涵,做到“明明白白他的心”,就能变被动为主动.因此,读懂面试问题,掌握面试考官的提问的目的,有准备.有针对性地回答,对提高应聘的成功率是有很大 ...

  6. 【MySQL笔记】数据操纵语言DML

    1.数据插入   INSERT INTO table_name (列1, 列2,...) VALUES(值1, 值2,....),(第二条),(第三条)...   注: 1)如果表中的每一列均有数据插 ...

  7. Java高级架构师(一)第08节:基本业务功能和数据字典

  8. Easyui treegrid 无法显示树形结构解决办法

    easyui treegrid 中检查了数据结构没有问题的,但就是不展示树形结构, 检查发现原来是 var columnsAll = [ { title: '任务ID', field: 'TaskID ...

  9. NHibernate+MySql (erro 解决方法)

    error1.  Could not create the driver from NHibernate.Driver.MySqlDataDriver 解决方法:在使用Nhibernate连接Mysq ...

  10. REST和SOAP区别

     转载于: http://blog.csdn.net/idafish/article/details/6308916 REST似乎在一夜间兴起了,这可能引起一些争议,反对者可以说REST是WEB诞生之 ...