linux部署不同版本mysql
测试环境部署过程中经常会遇到同一个服务器上部署两个不同版本的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的更多相关文章
- linux部署项目访问mysql问题
springboot以war包形式传到webapps下面,mysql创建库和表,war包里配置数据源是localhost,然后运行tomcat是没有问题的,可以访问通mysql正常请求服务. ssm以 ...
- 查看Linux 、Nginx、 MySQL 、 PHP 版本的方法
参考:查看Linux .Apache . MySQL . PHP 版本的方法 1.查看Linux版本: uname -a: more /etc/issue; cat /proc/version; 2. ...
- 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系 ...
- 在 CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本
MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...
- linux非root用户安装5.7.27版本mysql
先下安装包,到mysql官网https://dev.mysql.com/downloads/mysql/选好安装包版本.操作系统类型(默认是最新版本,点击右边链接Looking for previou ...
- linux yum安装指定版本mysql
1.下载mysql rpm包 cd /usr/local/src wget https://dev.mysql.com/get/mysql80-community-release-el7-.noarc ...
- Linux部署ASP.NET 5 (vNext)
原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署 引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...
- Linux云计算运维-MySQL
0.建初心 优秀DBA的素质 1.人品,不做某些事情2.严谨,运行命令前深思熟虑,三思而后行,即使是依据select3.细心,严格按照步骤一步一步执行,减少出错4.心态,遇到灾难,首先要稳住,不慌张, ...
- Windows10系统的Linux子系统中安装MySQL数据库心得
后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...
随机推荐
- commonjs AMD,CMD
CommonJS CommonJs 是服务器端模块的规范,Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行 ...
- 北大poj- 1028
Web Navigation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33281 Accepted: 14836 ...
- Objective-C如何对内存管理的?
Objective-C的内存管理主要有三种方式ARC(自动内存计数).手动内存计数.内存池. 1. (Garbage Collection)自动内存计数:这种方式和java类似,在你的程序的执行过程中 ...
- css中文乱码与替换字符
有时候,我们的css样式表中字体乱码,很诧异.百度谷歌是两个老师,有时jquery博客还上淘宝,那边有现成的代码,看看,发现里面定义全局字体是这样的font:12px/1.5 tahoma,arial ...
- BZOJ 4204 && BZOJ 2510 循环矩阵
n^3logn非常显然.所以要用一种因为这个矩阵是一个循环矩阵,所以只要知道第一行就可以知道所有行了. C[i][j]=C[i-1][j-1]; #include <iostream> # ...
- js/jquery 回调函数的定义方法
基本写法: 带参数的回调函数 以上回调函数,直接传入function作为参数,同样,还可以传入json对象作为参数...如下. 该方法的优势是可以定义多个回调函数....类似$.ajax回调函数中的s ...
- jQuery的ajax中return语句无法返回值
今天在做一个新需求的时候,用到jQuery的ajax来返回一个查询结果: 但是调用这个方法的时候,data有数据,调用的地方获取到的却一直都是undefined,在网上搜索了一些资料,找到了问题所在, ...
- github上下载的文件如何在本地运行
最近想学习自己写插件,所以先下载大神写的插件膜拜下,下载下来以后,直接双击运行报错,大神怎么会犯这么低级的错误咧!所以在网上查资料,找到了解决方法. (1)上传到github上面的插件都很规范,文件根 ...
- iOS内置音频
Predefined soundsThere are some predefined system sounds, for the system sound ID in the range 1000 ...
- MySQL - MySQL++在c++11环境下接口设计
安装官方提供的mysqlconnect后,可以使用mysql++库,在官方的C API上再次做一个c++面向对象封装. 这里mysql++的安装依赖于mysql-connector-c.安装参考:ht ...