作者: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. ibatis源码学习(一)整体设计和核心流程

    本文主要从ibatis框架的基本代码骨架进行切入,理解ibatis框架的整体设计思路,各组件的实现细节将在后文进行分析. 背景  介绍ibatis实现之前,先来看一段jdbc代码:  Class.fo ...

  2. 朋友要招几个java,让帮忙出点面试题目

    上周朋友说要招几个高级点的java,网上那些java面试宝典已经被人背得熟透了,让帮忙出出几个面试的问题,主要看看对所使用得语言有较深入得了解,不停留在使用什么开源框架,和对自己一些项目得见解.当然还 ...

  3. 查壳工具之Exeinfo PE

    简介 Exeinfo PE是一款免费.专业的程序查壳软件,可以查看exe.dll程序的编译信息,开发语言,是否加壳,壳的种类以及入口地址等信息. Exeinfo PE下载地址:https://gith ...

  4. 简单理解Linux File的操作

    类Unix系统是支持多个进程打开同一个文件,进行读写. 得益于类Unix系统对于文件操作的特殊设计. 分为三个数据结构 进程表项:其中包含进程中打开的文件和设备的文件描述符.还包含该文件描述符对应的文 ...

  5. javascript的一些API接口的使用

    1.blob http URL 在编辑器中,有的情况下插入图片,会讲图片转成 blob:http://localhost/*** 的这种形式.这种形式的URL实际数据是存放在浏览器的内存中. 这种情况 ...

  6. docker containner挂掉,无法exec进入bash,如何修改文件的终极解决方法

    场景: Nginx在bash里面配置的时候挂掉了,然后docker start不起来,exec bash进不去,造成无法再改里面的文件了 解决方法: 1,docker ps –a 可以查到所有dock ...

  7. 痞子衡嵌入式:MCUXpresso IDE下C++源文件中嵌套定义的复合数据类型命名空间认定

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下C++源文件中嵌套定义的复合数据类型命名空间认定. 痞子衡之前写过一篇文章 <MCUXpresso ...

  8. 利用 Databend + COS助力 CDH 分析 | 某医药集团

    作者: 黄志武 某医药集团信息中心数据库组组长,13 年数据库行业从业经历,Oracle OCM,关注 Oracle.MySQL.Redis.MongoDB.Oceanbase.Tidb.Polard ...

  9. Flutter 引用包命名冲突,重复引用

    Flutter 引用包命名冲突,重复引用 报错信息 lib/page.dart:92:11: Error: 'Response' is imported from both 'package:get/ ...

  10. ArgoCD 简介

    fork https://github.com/DevopsChina/lab/tree/main/deploy/lab04-argocd 1. ArgoCD 简介 基于 kubernetes 的声明 ...