测试环境部署过程中经常会遇到同一个服务器上部署两个不同版本的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. MicroERP开发技术分享:技术选型

    为什么要想起开发一个近似一套完整的ERP软件呢,原因有二:一是想在空闲时间把以前的进销存软件丰富一下,结果越搞越大了:二是这些年光搞C#了,不想把VB6忘光了 非微软的东西还真没时间去学,也有主要原因 ...

  2. springMVC之<context:annotation-config />标签

    springMVC的配置文件中经常见到<context:annotation-config/>,那么这句话的作用到底是什么呢? 现在的注解非常方便,但是系统如何才能识别注解呢,这就需要相应 ...

  3. python导入cx_Oracle报错的问题!

    import cx_Oracle 总是报错:ImportError: DLL load failed: 找不到指定的模块. 或者:ImportError: DLL load failed: %1 不是 ...

  4. C语言学习1——结构体剖析

    一、定义结构体变量的方法 1.1先声明结构体类型在定义变量名 例如: a.声明结构体类型 struct student { int num; char name[20]; char sex; int ...

  5. 超简单的js数字验证

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...

  6. 设置DIV块元素在浏览器页面中垂直居中

    任务目标 实践HTML/CSS布局方式 深入了解position等CSS属性 任务描述 实现如 示例图(点击打开) 的效果 灰色元素水平垂直居中,有两个四分之一圆位于其左上角和右下角. 任务注意事项 ...

  7. HIS-DELPHI-读取数据库配置

    产品思维: 1.做成可配置的 2.模块化 医生会有自己熟悉的药品,数据里面药品太多,让医生选择不放便 所以可以让医生自己维护自己的药品模板数据 比如医生开了处方后,可以保存当前的处方到某个模板中,那么 ...

  8. iOS---XMPP环境搭建过程

    什么是即时通信? 即时通信是目前Internet上最为流行的通讯方式, 各种各样的即时通讯软件也层出不穷, 服务提供商也提供了越来越枫木的通讯服务功能. 即时通讯有多重实现方式, XMPP就是其中一种 ...

  9. 虚拟机下Linux读取USB设备的问题虚拟机下Linux无法读取USB设备的解决方案

    我们在虚拟机中识别USB设备有三种情况导致Linux系统不能读取到USB设备: 1. .当虚拟机的USB服务没有开启的时候 2. 若虚拟机的USB连接的设置选项没有设置好 3. Widows抢先一步, ...

  10. IOC和Aop使用的扩展

    下面还有静态代理和动态代理 1.构造注入 lib包: 在entity包下新建一个实体类User 代码: package cn.happy.entity; public class User { pri ...