一个服务器启动两个MySQL实例
来源:互联网 发布:淘宝上买狗狗可靠吗 编辑:程序博客网 时间:2024/06/06 02:06
在一台服务器上,可以通过mysqld_multi配置多个Mysql实例运行。
假设服务器上现在已经运行一个MYSQL实例,数据目录是/var/lib/mysql,端口是3306,所用的SOCKET连接文件位于/tmp/mysql.sock。那么可以按照如下步骤,再启动一个或者多个实例。
一,创建新实例的数据目录
新启动MySQL实例之后,其数据位于哪个目录,就是实例相关的数据库文件都准备放在哪个目录下,假定我把它们放在 /var/lib/mysql2 目录下。
mkdir /var/lib/mysql2 创建目录。
chown mysql:mysql /var/lib/mysql2 给mysql用户权限。
二,创建数据库
这一步是在刚刚建立的目录下面,初始化数据库。
bin/mysql_install_db --user=mysql --datadir=/var/lib/mysql2 // 将mysql等系统数据库安装到实例准备运行的目录。
三,配置文件
修改配置文件 my.cnf,这也是最重要的一步。主要是重新设置每个实例的pid-file,socket,port等属性,我的配置文件 如下:
- [mysqld_multi]
- mysqld =/usr/bin/mysqld_safe
- mysqladmin = /usr/bin/mysqladmin
- user = root
- password = password
- # The MySQL server
- [mysqld1]
- port = 3306
- socket = /var/lib/mysql/mysql.sock
- datadir =/var/lib/mysql
- pid-file =/var/lib/mysql/ha1.pid
- user =mysql
- log-bin =master-bin
- log-bin-index =master-bin.index
- server-id =1
- [mysqld2]
- port = 3307
- socket =/var/lib/mysql2/mysql2.sock
- datadir =/var/lib/mysql2
- pid-file =/var/lib/mysql2/ha1.pid
- user =mysql mysqld_multi启动
点击(此处)折叠或打开
- /usr/local/mysql/bin/mysqld_multi start 1
- /usr/local/mysql/bin/mysqld_multi start 2
或者采用一条命令的形式:点击(此处)折叠或打开
- /usr/local/mysql/bin/mysqld_multi start 1-2
更改原来密码(处于安全考虑,还需要删除系统中没有密码的帐号,这里省略了):点击(此处)折叠或打开
- /usr/local/mysql/bin/mysqladmin -uroot password 'password' -S /data/dbdata_3306/mysql.sock
- /usr/local/mysql/bin/mysqladmin -uroot password 'password' -S /data/dbdata_3307/mysql.sock
登录测试并创建admin密码(停止mysql的时候需要使用到)点击(此处)折叠或打开
- /usr/local/mysql/bin/mysql -uroot -ppassword -S /data/dbdata_3308/mysql.sock
- GRANT SHUTDOWN ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password';
- flush privileges;
- /usr/local/mysql/bin/mysql -uroot -ppassword -S /data/dbdata_3308/mysql.sock
- GRANT SHUTDOWN ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password';
- flush privileges;
更改环境变量点击(此处)折叠或打开
- vim /etc/profile
- PATH=${PATH}:/usr/local/mysql/bin/
- source /etc/profile
添加到自动启动点击(此处)折叠或打开
- vim /etc/init.d/boot.local
- /usr/local/mysql/bin/mysqld_multi start 1-2
如果是rhel或者centos系统的话自启动文件/etc/rc.local管理的话,在本地都是采用 -S /data/dbdata_3308/mysql.sock,如果在远程可以通过不同的端口连接上去坐管理操作。其他的和单实例的管理没什么区别!大家在管理多实例的话可以使用mysqlmanager实例管理器,管理器来会比较方面,限于篇幅,这里就不在多做介绍!
- 一个服务器启动两个mysql实例
- 一个服务器启动两个MySQL实例
- 一个服务器启动两个mysql实例
- 同一服务器上运行两个mysql实例
- 在LINUX平台上手动创建数据库(oracle 10g)(在一个oracle服务器上启动两个实例)
- Ngxin---启动两个服务器--一个接受请求---一个处理请求
- 在一台linux机器上启动两个mysql实例
- 启动两个 Tomcat 实例
- mysql多实例的安装和管理(一台服务器上运行两个mysql实例)
- mysql多实例的安装和管理(一台服务器上运行两个mysql实例)
- vagrant启动两个实例配置
- 服务器同时启动两个tomcat
- 两个Mysql实例中的表实时复制到一个实例中的实现
- MySQL-启动双实例
- MySQL启动多实例
- MySQL服务器启动
- MySQL服务器启动问题
- Fedora16 mysql 服务器启动
- 【js学习笔记-033】--删除属性
- Entity Framework 4.1/4.3 之七 (DBContext 之4 数据验证)
- cocos2d-x注册touch事件
- vi 显示行号颜色
- 【js学习笔记-034】--枚举属性
- 一个服务器启动两个MySQL实例
- java打包成window service服务
- 【js学习笔记-035】--属性getter和setter
- sgu 178
- 树和二叉树(二)
- 关于Protobuf
- struts 2的标签库
- 倒腾(com.duoduo.args.homework)
- 4次多项式求最小值