ubuntu启动两个mysql_同一台Ubuntu 启动多个mysql
ubuntu 安装mysql 启动多个端口mysql服务
apt-get update
apt-get install mysql-server
如果update失败 1.检查是否不能域名解析。2.看看源是否有问题 具体自行百度吧。
这种方法默认的配置文件在 /etc/mysql/my.cnf
这样安装的默认端口上3306
下面我们再启动一个3307端口的mysql 服务,实现一台机器上同时运行多个数据库实例
1, 创建新的mysql实例数据存储目录,我这里创建2个 。你想创建几个就创建几个
mkdir -p /var/lib/1_mysql
mkdir -p /var/lib/2_mysql
如果权限不够 记得修改一下一下
chown -R mysql.mysql 1_mysql 2_mysql
2, 把my.cnf配置文件复制一份,开几个端口要复制几份。
cp /etc/mysql/my.cnf 3307.cnf
cp /etc/mysql/my.cnf 3302.cnf
3,修改3307.cnf文件,修改内容如下,你也可以根据自己情况修改
我只改了 3307 。3302 的自己修改
[client]
port = 3307
socket = /var/run/mysqld1/mysqld.sock
[mysqld_safe]
socket = /var/lib/1_mysql/mysqld.sock
#nice = 0
pid-file = /var/lib/1_mysql/mysqld.pid
[mysqld]
user = mysql
socket = /var/lib/1_mysql/mysqld.sock
port = 3307
basedir = /usr
datadir = /var/lib/1_mysql
tmpdir = /tmp
4,初始化数据库:
mysql_install_db --defaults-file=/etc/mysql/3307.cnf --basedir=/usr/ --datadir=/var/lib/1_mysql --user=mysql
mysql_install_db --defaults-file=/etc/mysql/3302.cnf --basedir=/usr/ --datadir=/var/lib/2_mysql --user=mysql
如果不是默认安装的请注意安装的路径 如果不知道
查找一下 mysql_install_db
find / -name mysql_install_db
找到后 在其目录下执行
./mysql_install_db --defaults-file=/etc/mysql/3307.cnf --basedir=/usr/ --datadir=/var/lib/1_mysql --user=mysql
注意再执行上面的命令的时候出错请看第8步,没错误恭喜你。继续往下看
5,启动mysql,要指定.cnf文件启动
mysqld_safe --defaults-file=/etc/mysql/3307.cnf --user=mysql &
mysqld_safe --defaults-file=/etc/mysql/3302.cnf --user=mysql &
看一下我们的成果 如下
[email protected]:/var/lib# ps -axu|grep mysql
root 20121 0.0 0.0 4448 1608 pts/2 S 21:26 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql/3302.cnf --user=mysql
mysql 20464 0.0 0.6 614620 54204 pts/2 Sl 21:26 0:05 /usr/sbin/mysqld --defaults-file=/etc/mysql/3302.cnf --basedir=/usr --datadir=/var/lib/2_mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/2_mysql/error.log --pid-file=/var/lib/2_mysql/mysqld.pid --socket=/var/lib/2_mysql/mysqld.sock --port=3302
root 20486 0.0 0.0 4448 1600 pts/2 S 21:26 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql/3303.cnf --user=mysql
mysql 20829 0.0 0.6 483156 53776 pts/2 Sl 21:26 0:04 /usr/sbin/mysqld --defaults-file=/etc/mysql/3303.cnf --basedir=/usr --datadir=/var/lib/3_mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/3_mysql/error.log --pid-file=/var/lib/3_mysql/mysqld.pid --socket=/var/lib/3_mysql/mysqld.sock --port=3303
root 20851 0.0 0.0 4448 1612 pts/2 S 21:26 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql/3304.cnf --user=mysql
mysql 21195 0.0 0.6 483156 52544 pts/2 Sl 21:26 0:05 /usr/sbin/mysqld --defaults-file=/etc/mysql/3304.cnf --basedir=/usr --datadir=/var/lib/4_mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/4_mysql/error.log --pid-file=/var/lib/4_mysql/mysqld.pid --socket=/var/lib/4_mysql/mysqld.sock --port=3304
root 21629 0.0 0.0 101444 4564 pts/2 S+ 21:49 0:00 mysql -uroot -p -S /var/lib/2_mysql/mysqld.sock -P 3304
root 24635 0.1 0.0 4448 1724 pts/5 S 23:46 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql/3307.cnf --user=mysql
mysql 24978 0.2 0.5 418756 46956 pts/5 Sl 23:46 0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/3307.cnf --basedir=/usr --datadir=/var/lib/1_mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/1_mysql/error.log --pid-file=/var/lib/1_mysql/mysqld.pid --socket=/var/lib/1_mysql/mysqld.sock --port=3307
root 24999 0.0 0.0 10468 2244 pts/5 S+ 23:47 0:00 grep --color=auto mysql
root 29058 0.0 0.0 4448 1732 ? S 01:48 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql/my.cnf --user=mysql
mysql 29425 0.0 0.6 484496 52180 ? Sl 01:48 0:49 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
6,停止MYSQL,需要指定对应的sock文件。
mysqladmin -uroot -S /var/lib/1_mysql/mysqld.sock shutdown
7,登陆3307端口的mysql:
mysql -S /var/lib/1_mysql/mysqld.sock -P 3307
远程连接加上ip即可
mysql -uroot -p -S /var/lib/1_mysql/mysqld.sock -hlocalhost -P 3307
8,我安装的时候出现如下类似的错误,找了好多资料。资料地址
2014-12-11 16:22:57 26309 [Warning] Can't create test file /data/mysql/server2.lower-test
2014-12-11 16:22:57 26309 [Warning] Can't create test file /data/mysql/server2.lower-test
2014-12-11 16:22:57 26309 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)
2014-12-11 16:22:57 26309 [Warning] Buffered warning: Changed limits: table_cache: 431 (requested 2000)
2014-12-11 16:22:57 26309 [Note] Plugin 'FEDERATED' is disabled.
^G/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied)
2014-12-11 16:22:57 26309 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
具体原因看转载
编辑
vim /etc/apparmor.d/usr.sbin.mysqld
添加如下
/var/lib/1_mysql/ r,
/var/lib/2_mysql/ r,
/var/lib/1_mysql/** rwk,
/var/lib/2_mysql/** rwk,
保存 重启
service apparmor restart
截止到这里 再回去重新执行第 4步
以下内容是转载
原文:http://www.huoxingfan.com/834.html
我想,你一定是从搜索引擎搜索这个标题进来的!你一定是想改变mysql默认安装的数据目录!
你已经修改了my.cnf中的datadir的值
你已经chown和chmod了数次新数据目录或者其父路径的属主和权限
你无数次地试图service mysql start,或者 /etc/init.d/mysql start,以及mysql_install_db!
恭喜你看见这篇文章,我在被系统坑了几个小时之后,找到了解决的方法。
这个原因有二,其中任意的一个原因都会造成你被系统告知这个warning。如果你不是一个专业的linux系统安全工程师,或者你只是个PHP程序
员,并没有对系统安全有深入的研究,你就不会太容易找到它的答案。
第一,seLinux,记得当年念书时,字符界面安装redhat(很古老的操作系统么。。。)的时候,有这么一个选项,通常大家都听取前辈的建议,改
变默认值以不安装它。但如果你恰好要操作的这台机器开着seLinux,它确实能够使你的mysql无法在新目标位置进行mysql_install_db的操作,并
爆出标题所示的警告。一个简单的解决办法是使用命令暂时关闭seLinux,以便让你的操作可以继续下去
setenforce 0
但最好使用一个永久方法,以便在重启后继续不要这货。
修改/etc/seLinux/config文件中设置SELinux=disabled ,然后重启或等待下次重启。(我用的是Azure的Ubuntu14.04,没有这个目录,OK,那就省事了)
第二,apparmor,这个坑爹货和seLinux一样的坑爹,它也对mysql所能使用的目录权限做了限制
在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
你一定看到了,/var/lib/mysql/就是之前mysql安装的数据文件默认路径,apparmor控制这里mysqld可以使用的目录的权限
我想把数据文件移动到/data/mysql下,那么为了使mysqld可以使用/data/mysql这个目录,照上面那两条,增加下面这两条就可以了
/data/mysql/ r,
/data/mysql/** rwk,
重启: sudo service apparmor restart
之后,就可以顺利地干你想干的事儿了。
ubuntu启动两个mysql_同一台Ubuntu 启动多个mysql相关推荐
- 一个服务器启动2套mysql_一台服务器上启动两个mysql实例
一台服务器上启动两个mysql实例 操作环境:centos6.8 有时由于服务器硬件资源紧张,而又需要新增mysql服务.这时我们可以采取在一台服务器上部署两个mysql实例,来解决. 1.创建新的m ...
- linux ubuntu fadora,两大主流Linux版本Ubuntu 18.04和Fedora 28的对比
以下为你带来当前两大主流Linux版本Ubuntu 18.04和Fedora 28它们之间的对比,这两个版本都有自身独自的的包管理,Ubuntu使用的是DEB,而Fedora使用RPM,不过它们都共同 ...
- 单机装两个mysql_单机环境下安装多个MySQL服务器
在几经周折,刚刚终于完成了单机上多个mysqld配置,我使用的是mysqld_safe命令来完成的. Step1: 安装数据库: ./configure --prefix=/usr/local/mys ...
- upupoo启动不了 mysql_【upupoo动态桌面壁纸和MySQL API 中文手册哪个好用】upupoo动态桌面壁纸和MySQL API 中文手册对比-ZOL下载...
upupoo动态桌面是一款电脑动态桌面软件,又译为啊噗啊噗,可以将视频设为桌面壁纸,软件也收集了动漫.舞蹈.神曲.风景等大量的视频壁纸资源,全视角动态桌面,交互桌面,改变对传统桌面的认知. 软件功能 ...
- 计算机必须启动两次,如果Windows 10需要启动两次,该怎么办?计算机必须启动两次。...
众所周知,在使用Win10的过程中,我们遇到了必须将计算机打开两次或更多次才能正常启动到桌面的问题,这可能是由于快速启动功能引起的,或者这可能是由于错误导致的BIOS问题.那么,为什么Win10计算机 ...
- 如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群
如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群 克隆集群机器 通过虚拟机搭建Hadoop集群,发现使用的VMware workstation 15 player版本没有克隆功能,于是找 ...
- 两台ubuntu虚拟机环境下hadoop安装配置
http://blog.itpub.net/26978437/viewspace-730136/ 按照上几篇的内容,安装好两台ubuntu虚拟机之后,首先确定好哪台机子做namenode,哪台做dat ...
- Ubuntu 测试两台电脑之间的网速
Ubuntu 测试两台电脑之间的网速 前言 安装 使用 服务器端 客服端 后续 前言 在Linux下面可以使用命令ping测试两台电脑之间的延迟. 类似于下面这样 ping 192.168.3.2 6 ...
- 两台ubuntu主机网线直连组成局域网,teamviewer局域网内相互连接
目的 单显卡主机测试后的程序发送到多显卡服务器上进行多GPU并行计算,并可以稳定清晰地远程访问服务器桌面,主要通过局域网实现,一种最简单的方式是两台主机网线直连组成局域网(不依赖于路由器). 最终实现 ...
最新文章
- Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
- 初学者指南:使用 Numpy、Keras 和 PyTorch 实现最简单的机器学习模型线性回归
- [转]Loadrunner Error code 10053 Tomcat 连接器(connector)优化
- 网络宣传推广浅谈关键词排名好却没有流量的原因解决方法!
- 在 Linux 上把 MP3 的檔名和 ID3 標簽轉為 UTF-8
- 在VS Code中直接调试Web程序,是怎样一种体验?
- 使用Python处理声音文件(五):绘制立体声音乐左右声道频谱
- python执行oracle的sql语句_在oracledb中执行SQL脚本一次执行一条语句
- oracle财务管理系统有什么用,CSS_Oracle财务管理系统:会计业务周期,下面是使用Oracle财务管理系统 - phpStudy...
- MP3音频文件转换成caf格式
- 用于实时视频和图像去雾的优化对比度增强算法
- 如何让你得声音洪亮结实有磁性
- 医学院交换去计算机学院,皖南医学院学生2018年赴台湾元培医事科技大学参加交换生项目交流心得...
- 新硬盘装机出现Disk Read Error解决方案
- win7 32/64位系统安装ug nx4.0
- iOS 左上角的返回按钮的几种设置
- 前端面试题(附答案)完善中……
- 视频格式基础知识:让你了解MKV、MP4、H.265、码率、色深等
- Vue高仿网易云网页端源码
- 将ipad作为电脑拓展屏或分屏的简单方法