文章目录

  • 一:安装前期准备
    • 1、检查是否已经安装过mysql
    • 2、查询所有mysql对应的文件夹
    • 3、下载linux版本的mysql安装包
  • 二:安装mysql
    • 1、解压文件
    • 2、将解压后的文件重新命名
    • 3、在/usr/local/mysql目录下创建data目录
    • 4、编译安装并初始化mysql
    • 5、配置文件my.cnf
    • 6、启动mysql(这一步先看完再操作少走弯路)
    • 7、添加软连接,并重启动mysql
    • 8、登录mysql
    • 9、开放远程连接
    • 10、开机自启
    • 11、外部工具连接mysql

一:安装前期准备

1、检查是否已经安装过mysql

[root@localhost /]# rpm -qa | grep mysql


如果已经安装的有的化,需要先把之前的删除了

rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

因为,我这个是新装的虚拟机,因为是空的。删除之后记得查看。

2、查询所有mysql对应的文件夹

[root@hadoop-master ~]# whereis mysql
mysql: /usr/lib64/mysql /usr/share/mysql
[root@hadoop-master ~]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/share/mysql
[root@hadoop-master ~]# 

删除上面的目录或者文件

[root@hadoop-master ~]# rm -rf /usr/lib64/mysql /usr/share/mysql /etc/selinux/targeted/active/modules/100/mysql

删除完了之后再检查一下看看还有没有

[root@hadoop-master ~]# whereis mysql
mysql:[root@hadoop-master ~]# find / -name mysql
[root@hadoop-master ~]#

3、下载linux版本的mysql安装包

打开目录

[root@hadoop-master local]# cd /usr/local

下载安装包到此目录

[root@localhost /]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

当然也可以去官网下载:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

二:安装mysql

1、解压文件

[root@hadoop-master local]# tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

2、将解压后的文件重新命名

[root@hadoop-master local]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql

3、在/usr/local/mysql目录下创建data目录

[root@hadoop-master local]# mkdir /usr/local/mysql/data

4、编译安装并初始化mysql

特别注意日志输出的末尾处是mysql的初始化密码,一定要记住

[root@hadoop-master bin]# cd /usr/local/mysql/bin
[root@hadoop-master bin]# ./mysqld --initialize --user=root --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

编译输出日志:

我这里的mysql的root账户初始化密码就是:_H5X-*gQI_hD

5、配置文件my.cnf

[root@hadoop-master bin]# vi /etc/my.cnf[mysqld]
[mysqld]
port=3306
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
max_connections=151
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 设置忽略大小写
lower_case_table_names = 1
# 指定编码
character-set-server=utf8
collation-server=utf8_general_ci
# 开启ip绑定
bind-address = 0.0.0.0
#设置sql语句的最大长度为64M
max_allowed_packet=64M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8

6、启动mysql(这一步先看完再操作少走弯路)

[root@hadoop-master bin]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.2020-08-02T15:58:23.384616Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.ERROR! The server quit without updating PID file (/usr/local/mysql/data/hadoop-master.pid).

发现报错了,根据提示我们需要把写权限Create writable for user 'mysql'.
创建myslq组和mysql用户

[root@hadoop-master data]# groupadd mysql
[root@hadoop-master data]# cat /etc/passwd |grep mysql
[root@hadoop-master data]# useradd -r -g mysql mysql
[root@hadoop-master data]# cat /etc/group | grep mysql
mysql:x:1001:
[root@hadoop-master data]# cat /etc/passwd |grep mysql
mysql:x:987:1001::/home/mysql:/bin/bash

更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

root@hadoop-master data]# chown -R mysql:mysql /usr/local/mysql
[root@hadoop-master data]# chmod -R 755 /usr/local/mysql

本人走弯路了,其实上面创建mysql用户的步骤可以提前在步骤4之前执行,如果遇到下面的异常

[root@hadoop-master local]# cd /usr/local/mysql/bin/
[root@hadoop-master bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
2020-08-02T16:32:14.093255Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-08-02T16:32:14.094353Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2020-08-02T16:32:14.094373Z 0 [ERROR] Aborting

可以直接清空/usr/local/mysql/data/ 目录下的所有内容,然后继续往下走

[root@hadoop-master mysql]# cd /usr/local/mysql/bin
[root@hadoop-master bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
2020-08-02T16:35:03.336722Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-08-02T16:35:03.440657Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-08-02T16:35:03.470791Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-08-02T16:35:03.528707Z 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: 1dc1c1cb-d4de-11ea-9c65-000c29f03fc4.
2020-08-02T16:35:03.529393Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-08-02T16:35:03.530486Z 1 [Note] A temporary password is generated for root@localhost: =4tlBRlrbObB

记住这个初始化密码:=4tlBRlrbObB

继续启动mysql

[root@hadoop-master bin]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL. SUCCESS!

看到Starting MySQL. SUCCESS代表启动服务成功了

7、添加软连接,并重启动mysql

添加软连接主要是为了更加方便使用mysql命令

[root@hadoop-master bin]# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@hadoop-master bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@hadoop-master bin]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!

8、登录mysql

使用的初始密码就是上面的:=4tlBRlrbObB

[root@hadoop-master bin]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.24Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> set password for root@localhost = password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)

我们这里使用了密码重置,将数据库root账户密码重置:

set password for root@localhost = password('root')

9、开放远程连接

如果不开放,只能自己机器127.0.0.1里玩了,外部的连不上的。

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;

10、开机自启

1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list

显示结果:

[root@hadoop-master bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@hadoop-master bin]# chmod +x /etc/init.d/mysqld
[root@hadoop-master bin]# chkconfig --add mysqld
[root@hadoop-master bin]# chkconfig --list注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。查看在具体 target 启用的服务请执行'systemctl list-dependencies [target]'。mysqld            0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关
network         0:关 1:关 2:开 3:开 4:开 5:开 6:关

11、外部工具连接mysql


如果不成功,大概率就是防火墙没开放3306端口,根据如下指令,将端口添加

[root@hadoop-master bin]# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 3306 -j ACCEPT
[root@hadoop-master bin]# service iptables save
[root@hadoop-master bin]# service iptables restart
[root@hadoop-master bin]# lsof -i tcp:3306

如果没有iptables命令,使用如下命令安装即可

[root@hadoop-master bin]# yum install iptables-services

至此,安装结束了。如果对你有帮助,请点赞支持下,谢谢。

CentOS7下安装mysql-5.7.24相关推荐

  1. 阿里云服务器——centos7下安装MySQL,并且实现远程连接

    centos7下安装MySQL,并且实现远程连接 1.先查看MySQL是否安装 rpm -qa|grep mysql 2.更新yum源 wget https://dev.mysql.com/get/m ...

  2. 【Linux】【服务器】 CentOS7下安装MySQL(版本8.0)详细过程步骤

    一.检查是否安装过mysql [Linux][服务器]CentOS7下卸载MySQL详细过程步骤 二.下载Linux下的Mysql包,打开Mysql官网 1.MySQL官网 2.滑到最后,点击MySQ ...

  3. Linux(CentOS7)下安装mysql

    2019独角兽企业重金招聘Python工程师标准>>> 在centos7上安装mysql: 1 卸载mariadb-lib. 默认centos7上含有mariadb的lib包.卸载它 ...

  4. centos 7安装mysql_Linux Centos7 下安装Mysql - 8.0.15

    Mysql有两种安装方式:源码包安装和二进制包安装 本文描述的是二进制安装包,下载目录:https://www.mysql.com/downloads/ 步骤一: 步骤二: 步骤三: 因本人的虚拟机是 ...

  5. Linux Centos7 下安装Mysql - 8.0.15

    Mysql有两种安装方式:源码包安装和二进制包安装 本文描述的是二进制安装包,下载目录:https://www.mysql.com/downloads/ 步骤一: 步骤二: 步骤三: 因本人的虚拟机是 ...

  6. 学习笔记(2)centos7 下安装mysql

    centos7安装mysql 本文通过yum方式安装mysql 1.添加mysql yum 仓库 去mysql开发者中心(http://dev.mysql.com/downloads/repo/yum ...

  7. 【Linux】【服务器】 CentOS7下安装MySQL详细过程步骤

    一.安装前 1.我们可以检测系统是否自带安装 MySQL: rpm -qa | grep mysql 2.如果有显示,有安装,那可以选择进行卸载: rpm -e mysql // 普通删除模式 rpm ...

  8. centos7下安装mysql及测试centos_CentOS7安装mysql8

    简介 MySQL8.0已经正式发布了,提供了很多新特性,性能提升也是很明显. 下载 可以直接使用国内的镜像源进行下载 wget -c mirrors.huaweicloud.com/mysql/Dow ...

  9. centos7下安装mysql之rpm方式

    文章目录 一 查看linux操作系统版本和系统内核版本 二 下载rpm安装包 1. 网页下载地址 2. 服务器直接下载 三 查看已安装的mysql,并卸载 1. 查看已有的mysql组件 2. 卸载m ...

  10. centos7远程访问mysql数据库_CentOS7下安装mysql最快捷方式及mysql远程访问连接实现详解...

    由于本人使用源码安装时出现许多错误,导致最后安装依然失败,故不推荐源码安装.现分享下成功安装的案例. 1.CentOS7下安装mysql步骤: (1)首先必须添加mysql社区repo通过输入命令: ...

最新文章

  1. java 无法取消引用_Java的新手,并出现错误“无法取消引用int” - java
  2. BZOJ2705 [SDOI2012]Longge的问题 欧拉函数
  3. 【js】vue 2.5.1 源码学习(二) 策略合并
  4. GC 调优(实战篇) - GC参考手册
  5. jQuery选择器的演示
  6. 经典假设检验理论记录一二
  7. mysql 存储微信昵称乱码_MYSQL 保存微信昵称特殊字符报错解决方法-设置编码集为utf8mb4的方法...
  8. 云南省计算机专业技术,云南省2018年下半年全国计算机技术与软件专业技术资格(水平)考试顺利举行...
  9. 阿里云技术天团空降 CSDN 独家在线峰会,揭秘核心竞争力
  10. 也谈大公司病3——治大国不是烹小鲜
  11. 单平台软件开发多系统APP
  12. RMAN使用备份传输表空间
  13. 泰坦尼克号数据_kaggle泰坦尼克号之Python手把手数据分析
  14. findbug规则说明
  15. java对redis的基本操作 - edisonfeng
  16. 卧槽,移动互联网时代这就结束了?下一个风口是啥?
  17. 怎么将两台计算机ping接通,小编教你手把手教你一根网线连接两台电脑实现数据传送...
  18. 数学基础一:直线方程Ax+By+C=0
  19. Java流及流操作示例
  20. 计算机视觉论文doc,计算机视觉论文.doc

热门文章

  1. 公司间采购的后台配置备忘录
  2. SAP-ABAP程序发送邮件
  3. 你还能再“二”一些吗?
  4. 《中国新说唱》怎么就把小众文化唱凉了
  5. php并发访问排队_php解决高并发问题
  6. 红米note2移动4g在哪里显示无服务器,红米note2移动版能用联通4g吗?红米note2插联通卡用法介绍...
  7. mysql转化为GaussDB,GaussDB(openGauss)宣布开源,性能超越 MySQL 与 PostgreSQL
  8. 天平游码读数例题_电子天平偏载误差的检定与处理
  9. matlab 对mnist手写数字数据集进行判决分析_人工智能TensorFlow(十四)MINIST手写数字识别...
  10. 升级鸿蒙的十款手机,华为郑重宣布,第二批升级鸿蒙的十款手机,荣耀30系列上榜!...