Mysql 5.7.17 离线版安装和数据迁移(centos 7)

本贴最后更新于 2160 天前,其中的信息可能已经事过景迁

总结下离线版 mysql 5.7.17 的安装步骤:

1.从官网下载mysql 离线版版安装包 mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz;
2.上传安装包mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 到 centos 7 的 /usr/tool/ 目录 ;
3.进入/usr/tool/ ---> cd /usr/tool;
4.解压安装包:tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz;
5.安装依赖: yum -y install perl perl-devel autoconf libaio;
6.进入/usr/local/mysql/ --->cd /usr/local/mysql/;
7.创建data目录:mkdir /usr/local/mysql/data;
8.添加mysql用户组和用户:
  groupadd mysql;
  useradd -r -g mysql -s /bin/false mysql;
9. 修改目录拥有者为mysql:chown -R mysql:mysql ./
10.初始化数据(下面是一条语句):
  ./bin/mysqld --initialize --user=mysql 
  --basedir=/usr/local/mysql 
  --datadir=/usr/local/mysql/data 
  --pid-file=/usr/local/mysql/data/mysql.pid
  --tmpdir=/tmp
11.复制生成的密码(登录mysql时用):

mysqllixianpng

12.复制配置文件到/etc/my.cnf:cp -a ./support-files/my-default.cnf /etc/my.cnf (选择y)
13.mysql的服务脚本放到系统服务中:
  cp -a ./support-files/mysql.server /etc/init.d/mysqld
14.赋予可执行权限:chmod +x /etc/init.d/mysqld
15.添加服务:chkconfig --add mysqld (可用chkconfig --list命令查看,3,4,5都是ON证明已启动)
16.修改my.cnf文件:vi /etc/my.cnf, 编辑添加如下内容:
  log-bin = /home/data/logs/mysql/binlog/mysql-bin #开启二进制日志功能,binlog数据位置
  log-bin-index = /home/data/logs/mysql/binlog/mysql-bin.index
  log_bin_trust_function_creators = 1
  binlog_cache_size = 1M
  binlog_format = ROW
  expire_logs_days = 30 #超过30天的binlog删除

  max_connections = 500 #最大连接数
  port = 3306
  socket = /tmp/mysql.sock
  pid-file = /usr/local/mysql/mysql.pid
  basedir = /usr/local/mysql  
  datadir = /usr/local/mysql/data 
  log_error =/home/data/logs/mysql/mysql-error.log 
  user = mysql

  character-set-server = utf8 
  back_log = 1024
  server-id = 1

  long_query_time = 1 #开启慢查询
  slow_query_log = 2 #慢查询时间(s)
  slow_query_log_file = /home/data/logs/mysql/mysql-slow.log
17.创建相应的日志目录和文件:
  mkdir /home/data/logs (存在则不创建)
  mkdir /home/data/logs/mysql
  mkdir /home/data/logs/mysql/binlog
  touch /home/data/logs/mysql/mysql-slow.log
  mkdir /home/data/logs/mysql/binlog/mysql-bin
  touch /home/data/logs/mysql/binlog/mysql-bin.index
  chown -R mysql:mysql /home/data/logs
18.把mysql客户端放到默认路径:
  ln -s /usr/local/mysql/bin/mysqld /usr/local/bin/mysqld
  ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
19.启动服务:service mysqld start (ps -ef |grep mysqld查看是否启动)
20.登录mysql:mysql -uroot -p,输入前面复制的密码
21.使用mysql库: use mysql:
  修改root密码:set password for root@localhost = password('要设置的密码admin123');
  创建mystest用户:CREATE USER 'mystest'@'localhost' IDENTIFIED BY '要设置的密码admin123'';
  查看是否创建成功:SELECT host, user FROM user WHERE user='soonfor';
  赋权限(除了DROP权限):
  GRANT ALL ON *.* TO 'mystest'@'localhost'; //全部
  REVOKE DROP ON *.* FROM 'mystest'@'localhost'; //删除DROP权限
  SHOW GRANTS FOR 'mystest'@'localhost'; //查看权限
22.设置远程访问:
  update user set host='%' where user='root' limit 1;
  update user set host='%' where user='mytest' limit 1;
刷新权限:flush privileges;
23.安装完成,可以使用创建的用户登录。

由于开始安装的时候没有注意到 Linux 磁盘大小的问题,没有过久硬盘就爆了,需要挂载新的数据盘,将 mysql

数据迁移到新的挂载盘上。

查看 mysql 的安装路径

执行查询 SQL

show variables like '%dir%';

sqldatapng

datadir 就是数据路径

转移操作

  • 新建 mysql 数据目录:

    mkdir -p /home/mysqldata
    # 改变数据库的归属为    mysql
    chown -R mysql.mysql /data/mysql
    
  • 停止 sql 服务:

    service mysqld stop
    
  • 把原来 mysql 安装的数据路径复制到新的文件目录下:

    cp -rf /usr/local/mysql/data /data/mysqlData/
    
  • 修改 mysql 的 my.cnf 文件:

    cp /etc/my.cnf /etc/my.cnf.bak
    vi /etc/my.cnf
    
    # 文件内容如下, 需要修改 datadir , socket 对应的目录
    log-bin = /home/data/logs/mysql/binlog/mysql-bin #开启二进制日志功能,binlog数据位置
    log-bin-index = /home/data/logs/mysql/binlog/mysql-bin.index
    log_bin_trust_function_creators = 1
    binlog_cache_size = 1M
    binlog_format = ROW
    expire_logs_days = 30 #超过30天的binlog删除
    
    max_connections = 500 #最大连接数
    port = 3306
    socket = /tmp/mysql.sock
    pid-file = /usr/local/mysql/mysql.pid
    basedir = /usr/local/mysql  
    datadir = /usr/local/mysql/data 
    log_error =/home/data/logs/mysql/mysql-error.log 
    user = mysql
    
    character-set-server = utf8 
    back_log = 1024
    server-id = 1
    
    long_query_time = 1 #开启慢查询
    slow_query_log = 2 #慢查询时间(s)
    slow_query_log_file = /home/data/logs/mysql/mysql-slow.log
    
  • 修改 MySQL 启动脚本:

    vi /etc/init.d/mysqld
    

mysqldpng

  • 重启 mysql 服务:

    service mysqld restart
    
  • 最后执行下 show variables like '%dir%' :
    sqldatapng

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 429 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖 • 1 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 556 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 712 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 31 回帖 • 8 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    544 引用 • 3531 回帖
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    77 引用 • 159 回帖
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 224 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 94 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    20156 引用 • 77715 回帖 • 1 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 705 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 624 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 458 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    85 引用 • 122 回帖 • 618 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    26 引用 • 222 回帖 • 167 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 248 回帖 • 124 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 125 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 12 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 137 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    45 引用 • 25 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    5 引用 • 62 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 9 关注