MYSQL单机多实例

一、创建安装目录

mkdir  /usr/local/mysql-s-5.6.32
mkdir  /usr/local/mysql-m-5.6.32

下载文件

可从 http://dev.mysql.com/downloads/mysql/ 下载新版本

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.32.tar.gz
tar -zxv -f mysql-5.6.32.tar.gz

二、编译命令

1、主编参数

cmake -DCMAKE_INSTALL_PREFIX=/data/mysql-m-5.6.32 \
-DMYSQL_UNIX_ADDR=/data/mysql-m-5.6.32/mysql.sock \
-DSYSCONFDIR=/data/mysql-m-5.6.32/etc \
-DMYSQL_DATADIR=/data/mysql-m-5.6.32/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=63306 \
-DENABLE_DOWNLOADS=0

2、从编译参数

cmake -DCMAKE_INSTALL_PREFIX=/data/mysql-s-5.6.32 \
-DMYSQL_UNIX_ADDR=/data/mysql-s-5.6.32/mysql.sock \
-DSYSCONFDIR=/data/mysql-s-5.6.32 \
-DMYSQL_DATADIR=/data/mysql-s-5.6.32/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=73306 \
-DENABLE_DOWNLOADS=0

重新运行配置,需要删除CMakeCache.txt文件

rm CMakeCache.txt

三、编译

make
make install

四、修改目录所有者和组

1、主库:

cd /data/mysql-m-5.6.32
chown -R mysql:mysql .
2```
、从库:

```javascript
cd /data/mysql-s-5.6.32
chown -R mysql:mysql .

五、初始化数据库

1、主库:

cd /usr/local/mysql
sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysql-m-5.6.32/data/ --basedir=/data/mysql-m-5.6.32/ --defaults-file=/data/mysql-m-5.6.32/my.cnf

2、从库:

sudo scripts/mysql_install_db --user=mysql --datadir=/data/mysql-s-5.6.32/data/ --basedir=/data/mysql-s-5.6.32/ --defaults-file=/data/mysql-s-5.6.32/my.cnf

导入成功后,会在 /data/mysql-s-5.6.32/ 或 /data/mysql-m-5.6.32/ (即数据库主目录)下自动生成一个my.cnf 文件,即配置文件,将下面的举例文件,修改后添加进去就可以了。

[client]
character-set-server = utf8
port    = 63306
socket  = /data/mysql-m-5.6.32/mysql.sock

[mysqld]
user    = mysql
port    = 63306
socket  = /data/mysql-m-5.6.32/mysql.sock
basedir = /data/mysql-m-5.6.32
datadir = /data/mysql-m-5.6.32/data
log-error = /data/mysql-m-5.6.32/mysql_error.log
pid-file = /data/mysql-m-5.6.32/mysql.pid

六、复制服务文件和添加到PATH

1、主服务

cp support-files/mysql.server /etc/init.d/mysqld-m

2、从服务

cp support-files/mysql.server /etc/init.d/mysqld-s

3、如果单机单镜像,最好按着下面的,添加系统环境变量

cp support-files/mysql.server /etc/init.d/mysqld

vim /etc/profile

# 添加以下内容
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

source /etc/profile

七、启动并加入开机启动

chkconfig mysql-m on
service mysql-m start  --启动MySQL

如果提示下面的错误:

ERROR! The server quit without updating PID file (/data/mysql-s-5.6.32/mysql.pid).

用下面的命令启动 sudo /etc/init.d/mysql-s start

八、检查启动情况

# 方法一
netstat -tulnp | grep 63306
# 方法二
mysql -u root -P 63306
# 活着sock登陆
mysql -uroot -P63306 -S /data/mysql-m-5.6.32/mysql.sock

密码为空,如果能登陆上,则安装成功

九、修改root密码

在编译后的etc目录中

./mysqladmin -u root password '123456’ -P63306

十、相关错误

# 问题:
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).
# 解决:
修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录
# 问题:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
# 解决:
# 新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。
ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock

/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock
# MySQL问题解决:-bash:mysql:command not found
# 因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,
# 系统在/usr/bin下面查此命令,所以找不到了
# 解决办法是:
ln -s /usr/local/mysql/bin/mysql /usr/bin
# 或将路径添加到环境变量中

付编译参数说明

时间: 2024-10-04 00:59:28

MYSQL单机多实例的相关文章

MySQL单机多实例方案部署

MySQL单机多实例方案,是指在一台物理服务器上运行多个MySQL数据库实例. MySQL单机多实例的优点: 1.节省成本,减少服务器.IP.机柜的数量,总体运营成本低于单机单实例方案. 2.提升利用率,利用NUMA特性,对MySQL实例进行CPU绑定. 3.提升用户体验,大幅度提高IO响应时间,有助于提升用户的体验. MySQL多实例部署的具体实施 1.MySQL多实例目录的规划(数据目录配置文件目录) 实例1 数据路径: /home/mysql/data 配置文件路径: /usr/local

学习tomcat之tomcat单机多实例部署

想要获得更多的文章,可以关注我的微信ilanniweb 为了有效的利用服务器的资源,我们现在需要在一台服务器上部署多个tomcat,这也就是我们经常所说的tomcat单机多实例部署. PS:本次实验的测试OS为centos6.5 64bit. 一.配置JAVA_HOME路径 要配置JAVA_HOME路径,我们就要首先安装jdk.jdk的安装在此我们使用的是yum方式,没有使用源码方式安装. 1.1 yum安装jdk jdk我们现在是使用的yum方式进行安装的,首先我们先来查看能够安装的jdk版本

PHP和MySQL存储过程的实例演示

以下的文章主要是向大家介绍的是PHP和MySQL存储过程的实例演示,我前两天在相关网站看见PHP和MySQL存储过程的实例演示的资料,觉得挺好,就拿出来供大家分享.希望在大家今后的学习中会有所帮助.   PHP与MySQL存储过程 实例一:无参的存储过程     $conn = MySQL_connect('localhost','root','root') or die ("数据连接错误!!!"); MySQL_select_db('test',$conn); $sql = &quo

mysql dba系统学习(4)mysql的多实例multi启动停止

mysql的多实例配置安装 一,什么情况下我们会考虑一台物理服务器上部署多个实例,大致有以下几种情况: 1,采用了数据伪分布式架构的原因,而项目启动初期又不一定有那多的用户量,为此先一组物理数据库服务器,但部署多个实例,方便后续迁移: 2,为规避mysql对SMP架构不支持的缺陷,使用多实例绑定处理器的办法(NUMA处理器必须支持,不过现在大部分处理器都支持的!),把不同的数据库分配到不同的实例上提供数据服务: 3,一台物理数据库服务器支撑多个数据库的数据服务,为提高mysql复制的从机的恢复效

php+mysql查询优化简单实例

 这篇文章主要介绍了php+mysql查询优化简单实例,分析了php+mysql程序设计中关于SQL语句优化查询的技巧,对于提高查询效率有一定参考借鉴价值,需要的朋友可以参考下     本文实例分析了php+mysql查询优化的方法.分享给大家供大家参考.具体分析如下: PHP+Mysql是一个最经常使用的黄金搭档,它们俩配合使用,能够发挥出最佳性能,当然,如果配合Apache使用,就更加Perfect了. 因此,需要做好对mysql的查询优化,下面通过一个简单的例子,展现不同的SQL语句对于查

PostgreSQL 主机性能测试方法 - 单机单实例

背景 业界有一些通用的数据库性能测试模型,可以用来测试硬件在不同测试模型下的性能表现. 参考http://www.tpc.org/https://github.com/oltpbenchmark/oltpbenchhttp://oltpbenchmark.com/ 本文主要以PostgreSQL为例,向大家介绍一下,如何使用PostgreSQL来测试硬件的性能. PostgreSQL 的功能非常的强大,所以可以适用于几乎所有的测试模型,同时用户还可以根据自己的应用场景设计测试模型. 前面已经介绍

PostgreSQL 单机多实例on XFS 润滑性测试

背景 前面一篇将EXT4 单机多实例在使用cgroup限制IOPS时,出现了IO HANG, 即使使用了data=writeback问题依旧. 从D状态的进程打印的PSTACK可以看到,问题卡在ext4上面. 详见 <PostgreSQL 9.6 检查点SYNC_FILE_RANGE 在单机多实例下的IO Hang问题浅析与优化> 阿里云的RDS PostgreSQL通过优化检查点调度解决了这个问题,原理也可以参考上文. XFS是一个非常不错的文件系统,特别是在高并发的场景下面,性能比EXT4

mysql Replace INTO 实例教程

mysql Replace INTO 实例教程 Replace INTO和INSERT INTO的区别,我和他说晚上上我的blog看吧,那时候还在忙,现在从MYSQL手册里找了点东西,MYSQL手册里说REPLACE INTO说的还是比较详细的. REPLACE的运行与INSERT很相像.只有一点除外,如果表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除.请参见13.2.4节,"INSERT语法". 注意,除

centos6.5 mysql5.6.24 单机多实例安装

单实例安装请参照该文档,本文在此基础上进行安装 多实例部署优势: 充分利用系统资源 mysql为单进程多线程的模型,它对多核的利用不是很好,无法充分利用系统资源.所以服务器上可以考虑多实例部署 资源隔离 如果不同的业务,部署在一个实例里,那么连接数.缓存等资源都是共享的.如果某个业务压力很大的话,很可能影响另一个业务的正常运行 业务.模块隔离 例如,A业务需要支持移动端,那么就需要升级数据库以支持utf8mb4字符集.而B业务则不需要.如果A.B是部署在一起的话,升级数据库必然会对B的业务造成影