测试环境部署过程中经常会遇到同一个服务器上部署两个不同版本的mysql数据库,在部署过程中也会有各种各样的问题,现将部署多版本mysql的方法总结如下:

1、下载mysql版本

http://downloads.mysql.com/archives/community/

选择Linux - Generic 以及对应的 mysql版本,我这次安装的是 mysql 5.6.26版本,服务器上已安装 mysql5.5.41

下载页面最下方  Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive(mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz),如果服务器是32位的就下载32位的安装包。

也可以在服务器上,进入到相应目录,使用 wget方法下载

wget --continue http://downloads.mysql.com/archives/get/file/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz  --directory-prefix=/usr/local/ --progress=bar

我是在 /usr/local/ 下创建了 mysql5.6/ 用于安装mysql的目录,与已有版本目录不要有冲突,同时创建 /data/mysql5.6/ 用于数据库数据目录

2、下载之后,解压安装包

tar -zxvf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz

   然后通过cp指令复制解压出来的文件夹草/usr/local/mysql5.6/   (一定要将安装文件复制到mysql的安装目录下)

cp -fr mysql-5.6.26-linux-glibc2.5-x86_64/* mysql5.6

  

3、创建用户(如果已创建,忽略此步骤)

    groupadd mysql           
useradd -g mysql mysql

  

4、安装mysql5.6.26

/usr/local/mysql5.6/scripts/mysql_install_db --basedir=/usr/local/mysql5.6 --datadir=/data/mysql5.6 --user=mysql 

  如果没有报错,基本就安装完成了

5、配置mysql

cd /usr/local/mysql5.6
cp ./support-files/my-default.cnf ./my.cnf

  首先,打开此前服务器已有的mysql版本的my.cnf (/etc/my.cnf)

cat /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 lower_case_table_names = 1 #max_allowed_packet=50M max_connections = 1024 character-set-server = utf8 wait_timeout = 31536000 interactive_timeout = 31536000 [mysqld_safe]
log-error = /var/test/mysqld.log pid-file = /var/run/mysqld/mysqld.pid

  

  然后根据以上内容修改新安装的mysql的my.cnf,主要是修改 port、datadir、basedir、log-error、pip-file、socket,修改后的my.cnf如下:

vim /usr/local/mysql5.6/my.cnf

[mysqld]
port = 3316
socket = /data/mysql5.6/mysql.sock
basedir = /usr/local/mysql5.6
tmpdir = /tmp/mysql5.6
datadir = /data/mysql5.6 ... [mysqld_safe]
log-error = /usr/local/mysql5.6/mysqld.log
pid-file = /data/mysql5.6/mysql56.pid

  以上修改后,对于不存在的目录和文件都需要手工创建

mkdir /data/mysql5.6
touch /usr/local/mysql5.6/mysqld.log
touch /data/mysql5.6/mysql56.pid

  

6、启动mysql5.6.26服务

/usr/local/mysql5.6/bin/mysqld_safe --defaults-file=./my.cnf --user=mysql &

  如果没有报错,且日志文件/usr/local/mysql5.6/mysqld.log 里没有错误信息,基本就已经启动好了,可以通过ps 查看进程

ps -ef|grep mysql

  

7、设置mysql访问密码

/usr/local/mysql5.6/bin/mysqladmin -u root -P 3316 -S /data/mysql5.6/mysql.sock password 'root123'

  这个密码设置后只允许localhost本地访问,还需要设置mysql远程访问,首先进入mysql

mysql -u root  --socket=/data/mysql5.6/mysql.sock  --port=3316 -p
--提示输入密码,输入 root123 mysql>grant all PRIVILEGES on *.* to root@'%' identified by 'root123456';
--设置之后需要刷新配置
mysql>flush privileges; mysql>exit

  grant 是数据库用于赋予用户权限的方法

grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

  

8、客户端连接,在客户端就可以使用navicat等工具配置连接进行数据库操作了

linux部署不同版本mysql的更多相关文章

  1. linux部署项目访问mysql问题

    springboot以war包形式传到webapps下面,mysql创建库和表,war包里配置数据源是localhost,然后运行tomcat是没有问题的,可以访问通mysql正常请求服务. ssm以 ...

  2. 查看Linux 、Nginx、 MySQL 、 PHP 版本的方法

    参考:查看Linux .Apache . MySQL . PHP 版本的方法 1.查看Linux版本: uname -a: more /etc/issue; cat /proc/version; 2. ...

  3. JAVAEE——BOS物流项目14:Linux部署(安装jdk、tomcat、mySQL)和扩展资料

    1 学习计划 1.Linux部署 n 安装jdk n 安装tomcat n 安装MySQL n 将项目发布到tomcat 2.扩展资料 2 Linux部署 2.1 安装jdk 第一步:获取Linux系 ...

  4. 在 CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本

    MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...

  5. linux非root用户安装5.7.27版本mysql

    先下安装包,到mysql官网https://dev.mysql.com/downloads/mysql/选好安装包版本.操作系统类型(默认是最新版本,点击右边链接Looking for previou ...

  6. linux yum安装指定版本mysql

    1.下载mysql rpm包 cd /usr/local/src wget https://dev.mysql.com/get/mysql80-community-release-el7-.noarc ...

  7. Linux部署ASP.NET 5 (vNext)

    原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署   引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...

  8. Linux云计算运维-MySQL

    0.建初心 优秀DBA的素质 1.人品,不做某些事情2.严谨,运行命令前深思熟虑,三思而后行,即使是依据select3.细心,严格按照步骤一步一步执行,减少出错4.心态,遇到灾难,首先要稳住,不慌张, ...

  9. Windows10系统的Linux子系统中安装MySQL数据库心得

    后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...

随机推荐

  1. JavaScript 跨域小总结

    一. 什么是跨域 域名分为:一级域名.二级域名.三级域名.例如:baidu.com(一级域名) .www.baidu.com(二级域名)tieba.baidu.com(二级域名).bbs.youa.b ...

  2. tpch-kudu

    1.在impala里建立好文本表: create external table customer (C_CUSTKEY INT, C_NAME STRING, C_ADDRESS STRING, C_ ...

  3. java读取大文件

    1  多线程 2  java内存映射读取大文件

  4. Windows对象

    JS之Window对象 一.说明: 他是JS中最大的对象,它描述的是一个浏览器窗口,一般要引用他的属性和方法时,不需要用“Window.XXX”这种形式,而是直接使用“XXX”.一个框架页面也是一个窗 ...

  5. 区分PC端与移动端代码,涵盖C#、JS、JQuery、webconfig

    1)C#区分PC端或移动端 using System.Text.RegularExpressions string u = Request.ServerVariables["HTTP_USE ...

  6. AJAX JSONP源码实现(原理解析)

    关于JSONP以及跨域问题,请自行搜索. 本文重点给出AJAX JSONP的模拟实现代码,代码中JSONP的基本原理也一目了然. <html xmlns="http://www.w3. ...

  7. Hadoop原理介绍

    Hadoop核心之HDFS 架构设计   老嗨 2015-09-18 16:55:00 浏览225 评论0 摘要: 概述:HDFS即Hadoop Distributed File System分布式文 ...

  8. Jqgrid学习API

    JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGrid Demo 是一个在线的演示项目.在这里,可以知道jqgrid可以做什么事情. 下面是转自其他人b ...

  9. MySQL命令行导出数据库

    MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server ...

  10. BeautifulSoup-find,findAll

    BeautifulSoup的主要函数使用 from bs4 import BeautifulSouphtml = """<html><head>& ...