CentOS_8 安装MySQL5.7

1、在安装之前,如果你的系统曾经安装过Mariadb,请先卸载:
yum remove mariadb*

2、安装依赖
yum install -y epel-release
yum update -y
yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost-doc boost-devel libaio-devel

3、下载解压MySQL源码包
cd /opt/
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
tar -zxf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql

4、配置环境变量
[root@cs opt]# vim /etc/profile
#添加如下内容
export PATH=/opt/mysql/bin:$PATH
#然后source生效
[root@cs opt]# source /etc/profile

5、添加用户并授权相关
useradd mysql
id mysql
mkdir /data/mysql -p
chown -R mysql:mysql /opt/mysql/*
chown -R mysql:mysql /data/*

其中:

  • /opt/mysql/是MySQL软件所在目录。
  • /data/mysql是将来存放MySQL数据的目录。

 6、初始化数据库

mysqld --initialize-insecure  --user=mysql --basedir=/opt/mysql --datadir=/data/mysql

上述参数,并不难理解:

  • --initialize-insecure,表示不安全的初始化。这个参数来自于--initialize参数,在MySQL5.7版本中,在初始化成功后,会生成一个临时密码,相对比较麻烦,所以这里改为--initialize-insecure,初始化成功后,密码为空。
  • --user=mysql,管理MySQL的用户是mysql
  • --basedir=/opt/mysql,是你MySQL的安装目录。
  • --datadir=/data/mysql,是管理数据的目录。
7、在初始化完成后,你的MySQL的数据目录,应该有这些文件:

  [root@localhost mysql]# ll /data/mysql/
  总用量 122948
  -rw-r-----. 1 mysql mysql 56 8月 24 16:30 auto.cnf
  -rw-r-----. 1 mysql mysql 305 8月 24 17:00 ib_buffer_pool
  -rw-r-----. 1 mysql mysql 12582912 8月 24 17:00 ibdata1
  -rw-r-----. 1 mysql mysql 50331648 8月 24 17:00 ib_logfile0
  -rw-r-----. 1 mysql mysql 50331648 8月 24 16:30 ib_logfile1
  -rw-r-----. 1 mysql mysql 12582912 8月 24 17:00 ibtmp1
  -rw-r-----. 1 mysql mysql 27486 8月 24 17:00 localhost.localdomain.err
  -rw-r-----. 1 mysql mysql 6 8月 24 17:00 localhost.localdomain.pid
  drwxr-x---. 2 mysql mysql 4096 8月 24 16:30 mysql
  drwxr-x---. 2 mysql mysql 8192 8月 24 16:30 performance_schema
  drwxr-x---. 2 mysql mysql 8192 8月 24 16:30 sys
  [root@localhost mysql]#

7、配置文件

vim /etc/my.cnf
  [mysqld]
  user=mysql
  basedir=/opt/mysql
  datadir=/data/mysql
  server_id=6
  port=3306
  socket=/tmp/mysql.sock
  [mysql]
  socket=/tmp/mysql.sock
  prompt=3306 [\\d]>
 8、管理MySQL_etc/init.d
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld

 9、启动、重启命令
service mysqld start
service mysqld restart

10、如果设置密码不成功,可绕过密码登录,重新设置
/etc/init.d/mysqld stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

update mysql.user set authentication_string=PASSWORD("123456") where user='root'and host='localhost';
flush privileges;

/etc/init.d/mysqld restart
mysql -uroot -p

成功!!
centos8 安装mysql5.7 后,mysql命令登录不成功,
报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory。
按照百度的方法都不成功,应该和系统版本有关,后来自己想到一个方法:yum install libncurses*,完美解决问题。

CentOS8 安装MySQL5.7的更多相关文章

  1. CentOS8安装Mysql5.7

    检查是否安装mysql [root@iZ2ze8crquorxf6c7l0eluZ ~]# rpm -qa |grep mysql [root@iZ2ze8crquorxf6c7l0eluZ ~]# ...

  2. 在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...

  3. CentOS6.3 编译安装LAMP(3):编译安装 MySQL5.5.25

    所需源码包: /usr/local/src/MySQL-5.5.25/cmake-2.8.8.tar.gz /usr/local/src/MySQL-5.5.25/mysql-5.5.25.tar.g ...

  4. CentOS7下安装MySQL5.7安装与配置(转)

    原文地址:http://www.centoscn.com/mysql/2016/0626/7537.html 安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在M ...

  5. RPM方式安装MySQL5.6

    原文转自:http://blog.csdn.net/liumm0000/article/details/18841197 未整理! RPM方式安装MySQL5.6 a. 检查MySQL及相关RPM包, ...

  6. 安装MySQL5.7

    安装方式:绿色安装(使用压缩文件) 文件版本:MySQL Community Server 5.7.13(x86 &x64) 大部分过程同<安装MySQL5.5>,本篇只写不同部分 ...

  7. RPM方式安装MySQL5.5.48 (Aliyun CentOS 7.0 & 卸载MySQL5.7)

    环境是阿里云的CentOS7.0,更新了yum源(更新yum源请参考https://help.aliyun.com/knowledge_detail/5974184.html)之后先是尝试安装了MyS ...

  8. Centos5.8 安装 MySQL5.6.19

    查看已经安装的mysql: sudo yum list installed |grep mysql 删除 sudo yum remove mysql 安装 sudo rpm -ivh MySQL-se ...

  9. 基于cmake编译安装MySQL-5.5

    cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以 ...

随机推荐

  1. 小程序textarea设置maxlength后不是你想的那样简单

    可能很多小伙伴们.看见这个标题后; 觉得作者是一个标题党. textarea设置maxlength后, 限制用户输入的字符呗! 还能怎么样呢? 恭喜你,说对了一半. 之前我也一直是这样想的. 知道今天 ...

  2. Apache Superset 1.2.0教程 (二)——快速入门(可视化王者英雄数据)

    上一篇我们已经成功的安装了superset,那么该如何可视化我们的数据呢?本文将可视化王者英雄的数据,快速的入门Superset. 一.连接数据源 首先确保mysql可以正常连接使用,并且准备好数据. ...

  3. 通过原生js实现数据的双向绑定

    通过js实现数据的双向绑定 : Object.defineProperty了解 语法: Object.defineProperty(obj, prop, descriptor) obj 要定义属性的对 ...

  4. QT. 学习之路 一

    初识QT 一:   hello-world: #include "mainwindow.h" #include <QApplication> #include < ...

  5. Github Copilot 结合python的使用

    之前提交的github copilot技术预览版申请,今天收到准入邮件,于是安上试一试这个准备把我送去电子厂上班的copy a lot ? 官网及申请地址:https://copilot.github ...

  6. C语言:3个数排序

    #include <stdio.h> int main() { int a,b,c,t; /*定义4个基本整型变量a.b.c.t*/ printf("Please input a ...

  7. java并发编程基础——线程同步

    线程同步 一.线程安全问题 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码.如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安 ...

  8. 在使用TCP协议进行消息发送时,对消息分帧

    成帧与解析 阅读 <java TCP/IP Socket 编程>第三章笔记 成帧技术(frame)是解决如何在接收端定位消息的首尾位置的问题.在进行数据收发时,必须指定消息接收者如何确定何 ...

  9. 二本,拿腾讯,阿里 offer 了

    我的春招 Hello,首先自我介绍一下,我是一所普普通通的二本院校的大三学生,坐标江苏. 今年三月份拿到了腾讯实习的offer,人生中第一次面试是腾讯,部门是 TEG 的云架构,并且顺利签约,说实话内 ...

  10. Spring自动装配(二)

    为什么Spring要支持Autowire(自动装配) 先写几个类,首先定义一个Animal接口表示动物: 1 public interface Animal { 2 3 public void eat ...