测试环境部署过程中经常会遇到同一个服务器上部署两个不同版本的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. OC基础--构造方法 id类型

    new方法实现原理: new做了三件事情 1.开辟存储空间  + alloc 方法 2.初始化所有的属性(成员变量) - init 方法 3.返回对象的地址 [Person new]; == [[Pe ...

  2. iOS两种方式加载图片的区别

    加载图片的方式: imageNamed: imageWithContentsOfFile: 加载Assets.xcassets这里面的图片: 1> 打包后变成Assets.car 2> 拿 ...

  3. Informatica相同环境与不同环境的导入导出( Repository Name,Integration Service Name,Folder Name是否相同):

    Informatica相同环境与不同环境的导入导出( Repository Name,Integration Service Name,Folder Name是否相同): 1.repository N ...

  4. WPF环境下多点触屏开发的一些经验(转)

    本系列将介绍Multi-Touch(MT)多点触控技术的相关内容,使开发人员了解如何在Windows 平台中开发出具有MT 功能的应用程序.众所周知Windows 7 操作系统自身已经支持具有MT 功 ...

  5. Python的平凡之路(16)

    一.HTML+CSS补充 0.常用页面布局 <!DOCTYPE html> <html lang="en"><head> <meta ch ...

  6. Outlook不能预览和打开Excel文件:

    无法打开Outlook邮箱中的Excel附件,确实让人恼火 先不要着急: 1.在开始->运行,输入"regedit" 2.找到路径:HKEY_CURRENT_USER\Sof ...

  7. 《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》

    Application和Java Applet的区别.Java语言是一种半编译半解释的语言.Java的用户程序分为两类:Java Application和Java Applet.这两类程序在组成结构和 ...

  8. UGUI与DOtween的坑

    在使用ugui和dotween做动画时,如使用transform.DoMoveX,.DoLocalMoveX,.DoMove,.DoLocalMove等方法时,动画效果有可能是错误的,什么时候错误呢? ...

  9. 普通硬件就能破解GSM A5加密算法

    如果你还在使用基于早期信号标准的GSM手机,那么你最好在使用手机的过程中小心一点了.因为根据国外媒体的最新报道,安全研究专家通过测试发现,他们只需要使用三张NVIDIA GeForce GTX690显 ...

  10. wireshark流跟踪和分析