作者:zuoguohui

一、场景:最近想搞mysql主从复制,需要在两台服务器上安装mysql,之前有一台已经装好了mysql5.7.21,于是在另外一台上也装mysql5.7.21,安装过程中碰到了蛮多坑,因此记录下来。

二、下载安装命令见下:

  1. wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
  2. tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

我将解压后文件夹所有文件复制到/usr/local/mysql下

  1. sudo cp -r mysql-5.7.21-linux-glibc2.12-x86_64/. /usr/local/mysql

在mysql文件夹下创建data文件夹(mysql的数据文件夹)和mysql_3306.err日志文件

  1. sudo mkdir /usr/local/mysql/data
  2. sudo vim mysql_3306.err
  3. sudo chmod -R 777 ./ #设置读写权限

添加用户组

  1. sudo groupadd mysql

添加用户

  1. sudo useradd -r -g mysql -s /bin/false mysql

添加mysql配置信息

  1. sudo /etc/my.cnf

    添加信息如下:

    [client]

    port = 3306

    socket = /usr/local/mysql/mysql.sock

    [mysql]

    no-auto-rehash

[mysqld]

socket = /usr/local/mysql/mysql.sock

character_set_server= utf8

init_connect= 'SET NAMES utf8'

basedir= /usr/local/mysql

datadir= /usr/local/mysql/data

socket = /usr/local/mysql/mysql.sock

pid-file= /usr/local/mysql/mysqld.pid

log-error= /usr/local/mysql/mysql_3306.err

sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysqld_safe]

open-files-limit = 8192

log-error= /usr/local/mysql/mysql_3306.err

保存后对mysql初始化

  1. sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/bin/mysqld --datadir=/usr/local/mysql/data

    如果报错,可以去/usr/local/mysql/mysql_3306.err文件查看error

    初始化密码可以看到,如:

    [Note] A temporary password is generated for root@localhost: *.>9Yy9Uk&Fx

启动在后台

  1. sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

修改密码

  1. sudo /usr/local/mysql/bin/mysql -u root -p

    密码见10,如果报错,则修改/etc/my.cnf文件,在mysqld下面添加一行:

    skip-grant-tables

12成功后会进入mysql命令模式

  1. use mysql; 一定要加分号
  2. update mysql.user set authentication_string=password('你的密码') where user='root' ;
  3. flush privileges;
  4. quit 退出

注:启动:/usr/local/mysql/support-files/mysql.server start

自启动:sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server

若出现Navicat连接报错Host not allowed,

进入use mysql;

update user set host = '%' where user ='root';

flush privileges;

ubuntu通过tar包安装mysql5.7.21的更多相关文章

  1. centos7使用tar包安装mysql5.7

    特别注意: 文档中涉及到密码的都是用的是弱密码,是存在安全风险的,一定要根据自己的情况修改为复杂度更高的密码! centos 7.6 mysql 5.7.31 基础目录: /srv/{app,data ...

  2. Ubuntu tar方式安装mysql5.7.21 时报错 [ERROR] Can't locate the language directory. 以及 ------ libaio.so.1: cannot open shared object file

    参考帖子: http://blog.csdn.net/ty0415/article/details/22958133 首先,在 MySQL 官方网站上下载安装包, 如图: 然后,执行安装命令 bin/ ...

  3. ubuntu16.04x64环境下 tar方式 安装mysql-5.7.21 试水过程记录

    前几天读研时候上铺的同学和我说到了一个问题,就是他们单位的redhat服务器给MySQL服务的数据库文件所在的磁盘空间不够了,对于这个问题我也是没有想过的,在受朋友之托下考虑自己做下复现,由于同学所在 ...

  4. CentOS6.5系统下RPM包安装MySQL5.6(转)

    1.查看操作系统相关信息. [root@linuxidc ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@ ...

  5. centos6.5环境通过rpm包安装mysql5.5.51数据库

    centos6.5环境通过rpm包安装mysql5.5.51数据库 注意:此方法适用于单独安装数据库的需求,如果在该机器上还需要安装php环境,建议mysql通过编译或yum方式安装 1.查找已经安装 ...

  6. Salt之CentOS7.5使用RPM包安装MySQL5.7.22

    手动安装参考CentOS7.5使用RPM包安装MySQL5.7.22 目录结构为 install.sls文件 #按顺序分别安装commin libs client server #避免冲突安装comm ...

  7. mysql 5.5.58 tar包安装部署

    环境: centos 7.4 64位 mysql 版本,5.5.58 glibc 64 位版,下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#d ...

  8. CENTOS7上安装MYSQL5.7.21流程

    1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql 2下 ...

  9. Linux6.9用RPM方式安装MySQL5.7.21

    1.下载安装包 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-1.el6.x86_64.rpm-bundle.tar ...

  10. vsftpd服务tar包安装

    一般如果有网络ubuntu直接apt-get install 安装vsftpd服务即可. 没网络只能下好vsftpd的tar包自己安装配置. 1. 解压 tar -xvf vsftpd-3.0.2.t ...

随机推荐

  1. 初步学习Nuxt3

    Nuxt3 用于制作ssr 网页 支持vue3 所有的语法,并且支持了TypeScript, vite+vue3+composition api + ts.SPA单页面应用不能进行SEO优化,SSR应 ...

  2. Linux中tar文件压缩与解压

    文件压缩与解压缩 一般什么情况下使用文件压缩? 备份数据,数据传输 节省磁盘空间 减少带宽使用 减少负载 减少IO操作 什么情况下进行压缩比较合适? 错过业务高峰期,由于文件的压缩会瞬间加大cpu的负 ...

  3. cornerstone中raft_server_resp_handlers源码解析

    1.概述 在rpc请求里,有了请求req就必然有回复resp.本文就来解析发送req的节点收到resp该怎么处理. 2.handle_peer_resp源码解析 void raft_server::h ...

  4. Java中的Servlet基本概述

    1 Servlet基本生命周期 一个Servlet是HttpServlet的子类,由支持Servlet的服务器完成该子类的对象初始化的工作.当有多个客户端请求同一个Servlet时候,servlet引 ...

  5. 面向 Java 开发人员的 Scala 指南: 构建计算器,第 1 部分

    Scala 的 case 类和模式匹配 Ted Neward, 主管, Neward & Associates 简介: 特定于领域的语言已经成为一个热门话题:很多函数性语言之所以受欢迎,主要是 ...

  6. vue 的provide 和 inject

    1.功能说明 在开发过程中,在子组件中如何获取父组件或者祖父级的数据.这个我们之前的做法是在子组件中找到父组件实例,然后使用父组件的数据.这样其实不是很自然. 在vue 中提供了 provide 和 ...

  7. HarmonyOS Next 入门实战 - 创建项目、主题适配

    ​开发一个简单的demo,其中涉及一些鸿蒙应用开发的知识点,其中涉及导航框架,常用组件,列表懒加载,动画,深色模式适配,关系型数据库等内容,在实践中学习和熟悉鸿蒙应用开发. ​​ ​​ 首先下载并安装 ...

  8. Java基础面试:Java中的方法

    Java 中的方法 什么是方法 方法是 Java 中的一段可重用的代码块,用于执行特定的任务,是程序中的最小执行单元. 参数:方法可以接受一个或多个参数,这些参数是传递给方法的值,用于方法内部的逻辑运 ...

  9. Ant Design Pro项目启动报can not resolve dependence:’…/node_modules/@umijs/renderer-react‘

    前情 公司有经常需要做一些后台管理页面,我们选择了Ant Design Pro,它是基于 Ant Design 和 umi 封装的一整套企业级中后台前端/设计解决方案. 坑位 今天启动项目报如下图 W ...

  10. Centos中keytool不起作用的解决方法

    ​keytool是Java开发中用于管理密钥和证书的工具,可以用于生成密钥.创建证书请求.导入和导出证书等操作.你可以在Oracle官网上下载和安装JDK,然后在JDK的 bin目录下找到 keyto ...