前言

环境:Centos7.9 mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz

前期准备

[root@mysql ~]# rpm -qa|grep mysql              #先查看下系统有没有安装有mysql包,有的话就卸载
[root@mysql ~]# rpm -qa| grep mariadb          #查看有没有其他的数据库,如mariadb    ,有的话需要卸载
[root@mysql ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps   #卸载mariadb[root@mysql  ~]# rpm -qa| grep glibc         #先查询glic版本是否等于或高于你下载的mysql安装包
glibc-2.17-324.el7_9.x86_64
[root@mysql ~]# rpm -qa|grep libaio                #查看有没有安装libaio,没有就yum安装
libaio-0.3.109-13.el7.x86_64
[root@mysql  ~]# rpm -qa|grep ncurses-compat-libs                  #查看有没有安装ncurses,没有就yum安装
[root@mysql  ~]# yum install  ncurses*                             #安装ncurses相关的依赖包[root@mysql ~]# mkdir /iflytek/                                        #创建一个iflytek目录,用于存放解压后的mysql包

开始安装mysql5.7

[root@mysql opt]# useradd -M -s /bin/false mysql                    #创建一个没有家目录也不能登录的专门用于运行MySQL的用户
[root@mysql ~]# mkdir /data/                                       #创建一个data目录,用于存放mysql的数据
[root@mysql ~]# chown -R mysql:mysql /data/                            #授权给mysql管理data目录
[root@mysql opt]# tar -zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /iflytek/            #解压mysql的tar包到指定目录
[root@mysql iflytek]# cd mysql-5.7.33-linux-glibc2.12-x86_64/
[root@mysql mysql-5.7.33-linux-glibc2.12-x86_64]# ll
total 264
drwxr-xr-x.  2 root root    4096 Jul  4 20:48 bin
drwxr-xr-x.  2 root root      55 Jul  4 20:48 docs
drwxr-xr-x.  3 root root    4096 Jul  4 20:47 include
drwxr-xr-x.  5 root root     230 Jul  4 20:48 lib
-rw-r--r--.  1 7161 31415 250129 Dec 10  2020 LICENSE
drwxr-xr-x.  4 root root      30 Jul  4 20:47 man
-rw-r--r--.  1 7161 31415    566 Dec 10  2020 README
drwxr-xr-x. 28 root root    4096 Jul  4 20:48 share
drwxr-xr-x.  2 root root      90 Jul  4 20:48 support-files[root@mysql iflytek]# ln -s /iflytek/mysql-5.7.33-linux-glibc2.12-x86_64/ /usr/local/mysql  #创建一个软连接
[root@mysql iflytek]# chown -R mysql:mysql mysql-5.7.33-linux-glibc2.12-x86_64/                #授权
[root@mysql local]# cd /usr/local/
[root@mysql local]# chown -R mysql:mysql mysql/                                                #授权
[root@mysql local]# cd mysql/bin
[root@mysql bin]#./mysqld --initialize --user=mysql --datadir=/data      #初始化并指定数据目录,会生成root密码,记住这个密码
[root@mysql bin]#./mysql_ssl_rsa_setup --datadir=/data/ --uid=mysql      #设置mysql加密通讯
[root@mysql bin]# ./mysqld_safe --user=mysql &
[root@mysql support-files]# cp mysql.server /etc/init.d/mysqld                     #复制mysql的启动文件到/etc/init.d/目录
[root@mysql ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile     #定义全局变量

注意(必读)

由于我们使用的二进制包,即通用版的glibc预编译过的安装包,从官方得知mysql由于在5.7开始,二进制包不再包含示例文件my-default.cnf,所以如果你想使用/etc/my.cnf文件的话,你就需要自己来编写这个文件;但即使没有my.cnf文件,MySQL也能正常运行,这是因为很多默认配置已经编译在二进制文件中了,我们也可以可以通过 mysql --verbose --help 可以看到相应的默认配置。
其实,我们仍然可以通过配置文件.cnf对mysql进行配置,my.cnf文件就是把在命令行上启动MySQL时后面的参数用my.cnf文件配置好,那么下次启动时就不再需要在命令上加如参数,这个my.cnf文件可以是自定义位置,也可以使用如下默认的位置,只要放在默认位置,MySQL自动识别,识别顺序如下:

文件名 目的
/etc/my.cnf 全局选项
/etc/mysql/my.cnf 全局选项
SYSCONFDIR/my.cnf 全局选项
$MYSQL_HOME/my.cnf 服务器特定选项(仅限服务器)
defaults-extra-file 指定的文件 --defaults-extra-file,如果有的话
~/.my.cnf 用户特定选项
~/.mylogin.cnf 用户特定的登录路径选项(仅限客户端)

创建my.cnf配置文件

[root@mysql ~]# vim /etc/my.cnf         #自己创建my.cnf文件,并添加一下内容,内容根据自己的实际情况添加
[client]
port = 3306
socket = /data/tmp/mysql.sock
default-character-set = utf8           #客户端字符集
[mysqld]
server_id = 1
port = 3306                                #端口
datadir = /data                            #MySQL的数据目录
basedir = /usr/local/mysql             #MySQL的安装目录
socket = /data/tmp/mysql.sock          #socket文件
pid-file = /data/pid/mysql.pid         #pid文件
log_error = /data/logs/error.log       #数据库错误日志文件
character-set-server = utf8                #MySQL字符集
lower_case_table_names = 1             #是否对sql语句大小写敏感,1表示不敏感
max_connections = 2048                 #最大连接数
max_connect_errors = 1000              #最大错误连接数[root@mysql ~]#
[root@mysql mysql]# mkdir /data/pid                    #创建目录
[root@mysql mysql]# mkdir /data/tmp                    #创建目录
[root@mysql mysql]# mkdir /data/logs               #创建目录
[root@mysql mysql]# touch /data/pid/mysql.pid      #创建pid文件
[root@mysql mysql]# touch /data/tmp/mysql.sock     #创建mysql.sock文件
[root@mysql mysql]# touch /data/logs/error.log     #创建error.log文件[root@mysql mysql]#chown -R mysql:mysql /data    #重新授权,因为刚才创建了目录和文件,并确保创建的3个文件mysql用户具有写入权限

启动MySQL

[root@mysql logs]# /etc/init.d/mysqld start             #成功启动MySQL
Starting MySQL. SUCCESS!
[root@mysql logs]# lsof -i:3306                            #端口正常
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  18506 mysql   20u  IPv6  49588      0t0  TCP *:mysql (LISTEN)

修改root密码、更改root能登陆的客户机

[root@mysql ~]# mysql -uroot -p
Enter password: #输入初始化时生成的随机密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.33

Copyright © 2000, 2021, Oracle and/or its affiliates.

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> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘manager001’; #修改root密码
mysql> flush privileges; #刷新权限
mysql>use mysql; #切换到mysql数据库
mysql> select user,host from user; #查看用户表
±--------------±----------+
| user | host |
±--------------±----------+
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost | #发现root用户只允许本机登录
±--------------±----------+
3 rows in set (0.00 sec)

mysql> update user set host=’%’ where user=‘root’ and host=‘localhost’; #修改root能从任何客户端登陆
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges; #刷新权限
mysql> exit; #退出

[root@mysql ~]# mysqladmin -uroot -p shutdown #关闭数据库
Enter password:
[root@mysql ~]#
[root@mysql ~]# lsof -i:3306 #MySQL以关闭
[root@mysql ~]#

结尾

是不是很多,哈哈哈,多看几遍就会了

CentOS7.9下实战安装MySQL5.7相关推荐

  1. centos7.5下yum安装mysql-5.6.43

    cd ~/ && cat /etc/redhat-release yum list installed |grep mysql #<===查看是否安装mysql,如果已经安装,使 ...

  2. 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6

    在超哥的帮助下,完成了基于InnoDb数据引擎的mysql数据库集群搭建,实现了主从复制的功能,本篇博文介绍如何使用二进制安装mysql的方法,具体实现步骤如下: 软件使用说明: Liunx系统:ce ...

  3. Centos7使用yum源安装mysql5.7和redis

    Centos7使用yum源安装mysql5.7 Centos7使用yum源安装redis windows安装mysql5.7 RPM是什么: RPM 是 LINUX 下的一种软件的可执行程序,你只要安 ...

  4. centos7环境下MySQL安装教程

    Linux centos7环境下MySQL安装教程 作者:随缘相识-(志同道合) 字体:[增加 减小] 类型:转载 时间:2017-03-17 我要评论 这篇文章主要为大家详细介绍了Linux cen ...

  5. CentOS7.2下一键安装Openstack

    CentOS7.2下一键安装Openstack   系统环境: Oracle VirtualBox 4.38 CentOS-7.2-x86_64-bin-DVD1.iso   安装前需要修改 /etc ...

  6. centos yum mysql-devel 5.5_CentOS 6.5下yum安装 MySQL-5.5全过程图文教程

    在linux安装mysql是一个困难的事情,yum安装一般是安装的mysql5.1,现在经过自己不懈努力终于能用yum安装mysql5.5了.下面通过两种方法给大家介绍CentOS 6.5下yum安装 ...

  7. linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录

    一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...

  8. mysql 5.6.23 源码包安装报错_CentOS6.5_64bit下编译安装MySQL-5.6.23

    ************************************************************ CentOS6.5_64bit下编译安装MySQL-5.6.23 ****** ...

  9. centos 编译mysql5.6_centos下编译安装MySQL5.6

    ,虚拟机centos6.5mini 网络适配器"桥接模式" 继续上一次的Apache编译后,编译安装MySQL5.6 MySQL5.6和以前的版本不同之处在于用cmake就行编译, ...

  10. CentOS7 linux下yum安装redis以及使用

    CentOS7 linux下yum安装redis以及使用 1.安装redis数据库 1 yum install redis 2.下载fedora的epel仓库 yum install epel-rel ...

最新文章

  1. Hanlp分词实例:Java实现TFIDF算法
  2. SQL Server事务的隔离级别
  3. 文件目录遍历的并发算法
  4. 【youcans 的 OpenCV 例程200篇】127. 形态算法之细化
  5. 《大数据》专题征文:大数据可视分析技术与应用
  6. this的作用(转)
  7. authware课件
  8. 中国物流产业发展形势与竞争格局展望报告2022版
  9. JavaWeb中的表单提交和超链接请求传递参数
  10. 拆 米家台灯_拆机测评 篇二: 就是一台149元 Mijia 米家台灯,有什么可测的?...
  11. Android N Idle模式分析
  12. python计算机视觉-图像处理基础章节第三章之根据仿射或单应性变换实现图像的扭曲,映射,融合
  13. 虚拟机镜像的创建方法
  14. HDU 6447 YJJ's Salesman(树状数组优化DP + 离散化)
  15. 聊一聊我眼中的阿里P8、P9及以上人的水平
  16. iOS 第三方框架-Masonry的使用
  17. 2014年美国数学建模竞赛C题总结
  18. 云盘构建LVM linux 持续更新
  19. 物联网安全解决方案_如何设计具有安全性的自制物联网解决方案
  20. Excel VBA高级编程 - 根据关键字自动搜索,自动生成下拉菜单

热门文章

  1. 451.根据字符出现频率排序(力扣leetcode) 博主可答疑该问题
  2. java打印出日历_java控制台打印本月的日历
  3. mysql数据库wait_timeout_mysql设置wait_timeout详解
  4. 契税申报期限_纳税申报的5个小常识,会计不知道,真不适合干会计
  5. Sublime Text 3.1.1 Build 3176 注册码破解
  6. 用swift写的一款小游戏,模仿的僵尸危机
  7. 上周热点回顾(11.27-12.3)
  8. 【JavaScript知识点五】javascript 流程语句
  9. C#.Net 调用Java的Web Service
  10. 线程基础阶段性总结和扩展(二)——ThreadLock