网上找了N多资料,没有一个可以顺利成功的,郁闷,可能是水平有限吧...!本人经过不断的研究、测试,完整实现linux下启动两台Mysql,而且对mysql有了更深入的了解...废话不多说,走着!
步骤如下:
一、编译安装两个mysql,步骤如下
下载Mysql ,此处以Mysql-6.0.11-alpha.tar.gz 为例
安装第一个数据库(主数据库)
(红色
部分为默认数据库文件路径,可改成其他如:data、var等)
tar zxvf mysql-6.0.11-alpha.tar.gz
cd mysql-6.0.11-alpha
./configure --prefix=/usr/local/mysql --sysconfdir=/usr/local/mysql/etc --with-tcp-port=3306 --localstatedir=/usr/local/mysql/localstate
--with-unix-socket-path=/tmp/mysql3306.sock --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312,binary --enable-thread-safe-client --with-plugins=innobase --with-mysqld-user=mysql --with-charset=utf8 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
make && make install
安装第二个数据库(从数据库)
tar zxvf mysql-6.0.11-alpha.tar.gz
cd mysql-6.0.11-alpha
./configure --prefix=/usr/local/mysql3307 --sysconfdir=/usr/local/mysql3307/etc --with-tcp-port=3307 --localstatedir=/usr/local/mysql3307/localstate
--with-unix-socket-path=/tmp/mysql3307.sock --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312,binary --enable-thread-safe-client --with-plugins=innobase --with-mysqld-user=mysql --with-charset=utf8 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
make && make install
如需支持所有字符集 修改为:--with-extra-charsets=all
即可
二、分别初始化数据库脚本(在编译目录执行下)
scripts/mysql_install_db --basedir=/usr/local/mysql/ --user=mysql
scripts/mysql_install_db --basedir=/usr/local/mysql3307/ --user=mysql
注:可用--datadir=PATH参数指定数据库文件路径,默认为编译时-- localstatedir
三、修改从库配置文件
拷贝配置文件:
cp /usr/local/software/mysql-6.0.11-alpha/support-files/my-medium.cnf /usr/local/mysql/etc/my.cnf
cp /usr/local/software/mysql-6.0.11-alpha/support-files/my-medium.cnf /usr/local/mysql3307/etc/my.cnf
四、修改各个数据库的my.cnf文件
主要内容如下:
添加InnoDB支持:
[client]
#password = your_password
port = 3307 --数据库端口号
socket = /tmp/mysqls.sock --sock文件路径
default-character-set=utf8 --客户端UTF8连接
[mysqld]
port = 3307 --数据库端口号
socket = /tmp/mysqls.sock --sock文件路径
default-storage-engine=INNODB
default-character-set=UTF8 --默认字符集
init_connect='SET NAMES utf8' --以UTF8连接
skip-name-resolve --取消DNS反向解析
lower_case_table_names=1 --不区分表名大小写
启动数据库(进入各自目录)
主:./mysqld_safe &
从:./mysqld_safe &
配置开机自动启动:
cp /usr/local/software/mysql-6.0.11-alpha/support-files/mysql.server /etc/init.d/mysql
cp /usr/local/software/mysql-6.0.11-alpha/support-files/mysql.server /etc/init.d/mysql3307
修改/etc/init.d/mysql3007中basedir与datadir
basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/var
停止数据库
主:./mysqladmin shutdown
从:./mysqladmin shutdown
以上各项配置都可以自行修改,以满足业务需求。
CSDN本人原创.搬家至ITEYE.版权所有@Robot_G
- 大小: 1.6 KB
- 大小: 4.8 KB
分享到:
相关推荐
主要介绍了Linux下启动多个mysql服务器例子,本文还包括了3个可能遇到的问题及解决方法,需要的朋友可以参考下
linux下启动多个不同版本的mysql服务.docx
linux下启动多个不同版本的mysql服务.pdf
MySQL 5.7 For Linux的部署及启动与排错,这个适合新手看看,但内容很多
其实提示找不到 /tmp/mysql.sock有时也并不是/tmp目录下没这个文件,是启动 命令不对,我碰到过 常见的几种启动方式,自己也不是记得很清楚,如果你确定tmp下有mysql.sock这 个文件不妨试试另外的几个命令 /usr/...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
很多情况下需要在客户端发布时发布 MySQL 数据库,这种发布方式虽然存在文件资源较大、易出错等缺点,但是却可以让桌面产品的发布更加完整。 本文将阐述如何使用一个脚本启动并初始化 MySQL 8.0 的方法,涵盖数据库...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项...
启用仓库 在MySQL 5.7仓库安装完成后,会在"/etc/yum.repos.d/"目录下生成两个文件,即mysql-community.repo文件和mysql-community-source.repo文件,我们主要查看mysql-community.repo文件中的配置,在该文件中默认...
8.4.4.4 排序行 8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理模式使用mysql 8.7 从...
它可以在Windows、Linux、Solaris、Mac OS X 等多种操作系统下安装使用,支持多语言:英文、简体中文、繁体中文、韩文、俄文、日文等。[1] 许多人通过他们自己的经验认识到安装 Apache 服务器是件不容易的事儿。...
它可以在Windows、Linux、Solaris、Mac OS X 等多种操作系统下安装使用,支持多语言:英文、简体中文、繁体中文、韩文、俄文、日文等。[1] 许多人通过他们自己的经验认识到安装 Apache 服务器是件不容易的事儿。...
mysql更改数据文件的存放路径感觉直接把/etc/my.cnf中的datadir改一下重启一下服务就行,但是从网上搜了n多资料,大部分都是更改my.cnf中的datadir及sock及启动脚本/etc/rc.d/init/mysqld中的datadir,按照网上提供...
5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 ...
1.3、一次进入多个文件夹 1.4、返回上一级 1.5、直接进入根目录 1.6、创建一个目录 2、Redis中的相关操作命令 2.1、 开启redis 2.2 查看redis 是否开启成功(查看进程) 2.3 杀死某一个进程 2.4 用户客户端访问 2.5 ...
8.4.4.4 排序行 8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理模式使用mysql ...