首页 > 代码库 > CentOS6.5源码安装多个MySQL实例及复制搭建
CentOS6.5源码安装多个MySQL实例及复制搭建
多实例安装
本节是在CentOS6.5源码安装MySQL5.6.35的基础上,在同一台机器增加一个MySQL实例。参考Centos中安装多个mysql数据的配置实例,安装目录为/usr/local/mysql3307/
6、目录创建(-p父目录不存在则创建此目录)[root@VMUest ~]# cd mysql-5.6.35[root@VMUest mysql-5.6.35]# mkdir -p /usr/local/mysql3307/data7、编译安装[root@VMUest mysql-5.6.35]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql3307 -DMYSQL_DATADIR=/usr/local/mysql3307/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql3307/mysql.sock -DMYSQL_TCP_PORT=3307 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci[root@VMUest mysql-5.6.35]# make && make install[root@VMUest mysql-5.6.35]# make clean8、设置权限修改/usr/local/mysql3307权限[root@VMUest mysql-5.6.35]# chown -R mysql:mysql /usr/local/mysql33079、初始化配置进入安装路径[root@VMUest mysql-5.6.35]# cd /usr/local/mysql3307执行初始化配置脚本,创建系统自带的数据库和表[root@VMUest mysql3307]# scripts/mysql_install_db --basedir=/usr/local/mysql3307 --datadir=/usr/local/mysql3307/data --port=3307 --user=mysql10、启动MySQL添加服务,拷贝服务脚本到init.d目录[root@VMUest mysql3307]# cp support-files/mysql.server /etc/init.d/mysql3307[root@VMUest mysql3307]# vim /etc/init.d/mysql3307修改下面参数basedir=/usr/local/mysql3307datadir=/usr/local/mysql3307/dataconf=/usr/local/mysql3307/my.cnf$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file [root@VMUest mysql3307]# chkconfig --add mysql3307[root@VMUest mysql3307]# service mysql3307 start --启动MySQL11、配置用户修改root密码[root@VMUest mysql3307]# mysql -P3307 -S/usr/local/mysql3307/mysql.sock -urootmysql> SET PASSWORD = PASSWORD(‘mysql5635‘);设置mydba用户可以远程访问mysql> GRANT ALL PRIVILEGES ON *.* TO ‘mydba‘@‘%‘ IDENTIFIED BY ‘mysql5635‘ WITH GRANT OPTION;防火墙设置可参考 http://www.cnblogs.com/ShanFish/p/6519950.html
整体配置非常简单,只需调整安装目录、端口等信息,代码中红色字体为添加部分
#本地登录如果不带-S/usr/local/mysql3307/mysql.sock,进入的是3306实例[root@VMUest mysql3307]# mysql -P3307 -uroot -p#本地/远程登录使用-h、-P,进入的是3307实例cmd> mysql -h192.168.85.129 -P3307 -umydba -p
复制搭建(Master-Slave)
接下来在上面的环境上搭建Master-Slave复制,参考Mycat+MySQL 主从复制,3306作为Master,3307作为Slave
#添加日志目录[root@VMUest ~]# mkdir -p /usr/local/mysql/log[root@VMUest ~]# mkdir -p /usr/local/mysql3307/log[root@VMUest ~]# chown -R mysql:mysql /usr/local/mysql/log[root@VMUest ~]# chown -R mysql:mysql /usr/local/mysql3307/log
一、针对Master的操作
1、编辑Master配置文件[root@VMUest ~]# vim /usr/local/mysql/my.cnf[mysqld]#repl masterserver-id=6log-bin=/usr/local/mysql/log/mysql-binmax_binlog_size=100Mbinlog-format=MIXED2、重启Master实例[root@VMUest ~]# service mysql restart3、创建复制用户mysql> use `mysql`;mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@‘localhost‘ IDENTIFIED BY ‘repl‘;4、获取Master状态信息#在session1锁表mysql> FLUSH TABLES WITH READ LOCK;如果master已有数据且需同步到slave,在此进行备份 .databak#在session2查看状态mysql > SHOW MASTER STATUS;5、在Master上释放读锁mysql> UNLOCK TABLES;Master释放读锁后,新数据就可以写入mysql> source E:/MySQL/ExampleDatabases/sakila-db/sakila-schema.sqlmysql> source E:/MySQL/ExampleDatabases/sakila-db/sakila-data.sql
二、针对Slave的操作
6、编辑Slave配置文件[root@VMUest ~]# vim /usr/local/mysql3307/my.cnf[mysqld]#repl slaveserver-id=7relay_log=/usr/local/mysql3307/log/mysql-relay-binmaster-info-file=/usr/local/mysql3307/log/master.inforelay-log-info-file=/usr/local/mysql3307/log/relay-log.infoskip-slave-start7、重启Slave实例[root@VMUest ~]# service mysql3307 restart如果有备份数据,在此进行还原 .databak8、在Slave上设置Master配置mysql> change master tomaster_host=‘127.0.0.1‘,master_port=3306,master_user=‘repl‘,master_password=‘repl‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=120;9、启动Slave线程并查看状态mysql> start slave;mysql> show slave status\G
本文是在之前的两篇文章的基础上进行扩展,文中的操作步骤可能是跳跃式的,建议先阅读CentOS6.5源码安装MySQL5.6.35、Mycat+MySQL 主从复制了解基础环境。
CentOS6.5源码安装多个MySQL实例及复制搭建
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。