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

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

总结下离线版 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 是最流行的关系型数据库管理系统之一。

    692 引用 • 535 回帖
  • CentOS

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

    239 引用 • 224 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖 • 1 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 177 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖 • 4 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 595 回帖
  • 人工智能

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

    157 引用 • 289 回帖
  • Anytype
    3 引用 • 31 回帖 • 14 关注
  • gRpc
    11 引用 • 9 回帖 • 89 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 3 关注
  • 倾城之链
    23 引用 • 66 回帖 • 159 关注
  • Gitea

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

    5 引用 • 16 回帖
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 76 回帖 • 1 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 736 关注
  • Access
    1 引用 • 3 回帖 • 5 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 17 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 541 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 2 关注
  • Gzip

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

    9 引用 • 12 回帖 • 170 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    182 引用 • 1010 回帖
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    99 引用 • 367 回帖
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 408 回帖 • 487 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 253 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    28 引用 • 197 回帖 • 28 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • JRebel

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

    26 引用 • 78 回帖 • 679 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    31 引用 • 96 回帖