来自 美高梅4858mgm 2019-11-15 23:58 的文章
当前位置: 美高梅4858官方网站 > 美高梅4858mgm > 正文

15并安装mysql主从复制,Linux下Mysql互为基本

一.最小化安装centos 二.虚拟机安装完后,iptables会自动开启,永久关闭它 chkconfig iptables off 三.设置静态ip地址,方便以后shell连接 ,mysql主服务器192.168.1.41,从服务器192.168.1.42; 1.vi /etc/sysconfig/network-scripts/ifcfg-eth0 (根据虚拟机网卡的不同,这里eth0也可能是eth1,eth2) DEVICE=eth0 BOOTPROTO=static HWADDR=00:26:18:0B:38:C0 ONBOOT=yes IPADDR=192.168.1.41 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 2.IP生效: /sbin/ifdown eth0 /sbin/ifup eth0 3.通知网关更新信息: /etc/init.d/network restart 4.配置DNS: vi /etc/resolv.conf nameserver 202.101.172.35 5.chattr +i /etc/resolv.conf改为只读 6.重启系统四 使用shell登录192.168.1.41 (mysql主服务器,先设置一台,然后通过复制,克隆,产生从服务区) 五 安装mysql5.6.15 (官网mysql.com下载源码包安装。) 1.安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake(mysql5.5以后都采用cmake安装了)

Linux下Mysql互为主从

 

系统环境:CentOS 6.5
master1:192.168.100.204
master2:192.168.100.205
mysql版本:mysql-5.6.19
注:mysql的5.5以下的版本和5.5以上的版本配置方法不一样

以下两个节点安装
1:防火墙打开相应端口
# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
# /etc/rc.d/init.d/iptables save

2:安装相关依赖包
# yum -y install gcc gcc-c++ ncurses ncurses-devel openssl openssl-devel cmake perl lsof bison

3:删除自带的mysql
# rpm -qa|grep mysql
# rpm -e --allmatches --nodeps mysql-libs-5.1.71-1.el6.x86_64

4:创建相关目录
# mkdir /doiido/soft
# mkdir -p /doiido/mysql/data/

5:创建mysql用户
# /usr/sbin/groupadd mysql
# /usr/sbin/useradd -s /sbin/nologin -M -g mysql mysql
# chown -R mysql:mysql /doiido/mysql/

6:安装mysql
# cd /doiido/soft
# tar -zxvf mysql-5.6.19.tar.gz
# cd mysql-5.6.19
# cmake -DCMAKE_INSTALL_PREFIX=/doiido/server/mysql -DMYSQL_DATADIR=/doiido/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc/ -DWITH_SSL=yes -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=on
# make && make install

7:修改相关目录权限并创建软连接
# chmod +w /doiido/server/mysql
# chown -R mysql:mysql /doiido/server/mysql/
# ln -s /doiido/server/mysql/lib/lib* /usr/lib/
# ln -s /doiido/server/mysql/bin/mysql /usr/bin

8:修改配置文件
# cp /doiido/server/mysql/support-files/my-default.cnf /etc/my.cnf
# vi /etc/my.cnf

[mysqld]
character-set-server = utf8
default-storage-engine = MyISAM
basedir = /doiido/server/mysql
datadir = /doiido/mysql/data
log-error = /doiido/mysql/mysql_error.log
pid-file = /doiido/mysql/mysql.pid
max_allowed_packet = 32M
explicit_defaults_for_timestamp = true 

9:安装mysql数据库
# /doiido/server/mysql/scripts/mysql_install_db --basedir=/doiido/server/mysql --datadir=/doiido/mysql/data --user=mysql

10:设置mysql开机自动启动服务
# cp /doiido/server/mysql/support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on

11:修改mysqld文件并启动mysql
# vi /etc/init.d/mysqld

#修改mysqld文件中的下面两项
basedir=/doiido/server/mysql
datadir=/doiido/mysql/data

# service mysqld start

12:创建需同步的数据库
# mysql -uroot -p
mysql> create database doiido;
mysql> GRANT ALL PRIVILEGES ON doiido.* TO [email protected]"%" IDENTIFIED BY 'doiido123';
mysql> exit
--------------------以下在服务器master1上操作
修改配置文件
# vi /etc/my.cnf

[mysqld]
#默认是1,master和slave不能相同即可
server-id=1
log-bin=bin.log
port=3306
binlog-do-db =doiido
#要复制的数据库
replicate-do-db =doiido

重启mysql
# service mysqld restart

建立用于同步的账户
# mysql -uroot -p
mysql> grant replication slave on *.* to 'dodo'@'192.168.100.205' identified by 'jjjjjj';

查看File对应值,并记录下来
mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| bin.000001       |      120 | doiido       |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

mysql> exit
--------------------以下在服务器master2上操作
2.修改slave上的配置文件my.cnf
# vi /etc/my.cnf

[mysqld]
server-id=2
port=3306
log-bin=bin.log
binlog-do-db =doiido
replicate-do-db =doiido

重启mysql
# service mysqld restart

在从服务器上建立相应的数据库
# mysql -uroot -p

将192.168.100.204设置为自己的主服务器
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.100.204',MASTER_PORT=3306,
MASTER_USER='dodo',
MASTER_PASSWORD='jjjjjj',
MASTER_LOG_FILE='bin.000001',
MASTER_LOG_POS=120;

启动从服务器复制功能
mysql> start slave;

mysql> show slave statusG;

...................
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...................

注:

#美高梅4858mgm,Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件
#Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。
上面两个必须都是yes,其中一个NO均属错误

mysql> exit
至此,单向主从配置完毕,如需要互为主从则配置如下
--------------------以下在服务器master2上操作
建立用于同步的账户
# mysql -uroot -p
mysql> grant replication slave on *.* to 'dodo'@'192.168.100.204' identified by 'jjjjjj';

查看File对应值,并记录下来
mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| bin.000001       |      649 | doiido       |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

mysql> exit
--------------------以下在服务器master1上操作
将192.168.100.205设置为自己的主服务器
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.100.205',
MASTER_PORT=3306,
MASTER_USER='dodo',
MASTER_PASSWORD='jjjjjj',
MASTER_LOG_FILE='bin.000001',
MASTER_LOG_POS=649;

启动从服务器复制功能

mysql> start slave;

mysql> show slave statusG;

...................
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...................

上面两个必须都是yes,其中一个NO均属错误

mysql> exit

至此互为主从配置完毕

系统环境:CentOS 6.5 master1:192.168.100.204 master2:192.168.100.205 mysql版本:mysql-5.6.19 注:mysql的5.5以下的版本和5.5以上的版本...

wget

tar -xzvf cmake-2.8.10.2.tar.gz

cd cmake-2.8.10.2

./bootstrap ; make ; make install

2.创建mysql用户与组 groupadd mysql

useradd -r -g mysql mysql

3.新建mysql安装目录和数据目录

mkdir -p /usr/local/mysql

mkdir -p /data/mysqldb

4.下载mysql 源码包并解压安装

在官方网站 找找,一般是最后一个source code 32M左右

tar -zxv -f mysql-5.6.15.tar.gz

5.安装mysql

cd mysql-5.6.15

配置编译信息

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306

-DENABLE_DOWNLOADS=1

make

make install

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

##################解释与说明##############################################

-DCMAKE_INSTALL_PREFIX=dir_name

设置mysql安装目录

-DMYSQL_UNIX_ADDR=file_name

设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock的中。

-DDEFAULT_CHARSET=charset_name

设置服务器的字符集。缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。

cmake/character_sets.cmake文件包含允许的字符集名称列表。

-DDEFAULT_COLLATION=collation_name

设置服务器的排序规则。

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

存储引擎选项:

MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。

静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1。

可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和 PERFSCHEMA (Performance Schema).

-DMYSQL_DATADIR=dir_name

设置mysql数据库文件目录

-DMYSQL_TCP_PORT=port_num

设置mysql服务器监听端口,默认为3306

-DENABLE_DOWNLOADS=bool

是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。

########################################################################

6.修改mysql安装目录和数据目录的权限

 cd /usr/local/mysql

 chown -R mysql:mysql .

 cd /data/mysqldb

 chown -R mysql:mysql .

 7.初始化mysql数据库

 cd /usr/local/mysql

 scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

 8复制mysql服务启动配置文件

 cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

 9 修改配置文件

 vi /etc/my.cnf

 修改datadir = /data/mysqldb/

 10、复制mysql服务启动脚本及加入PATH路径

 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

11、启动mysql服务并加入开机自启动

service mysqld start

chkconfig --level 35 mysqld on

12、检查mysql服务是否启动

netstat -tulnp | grep 3306

mysql -u root -p

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

13、修改MySQL用户root的密码

mysqladmin -u root password '123456'

本文由美高梅4858官方网站发布于美高梅4858mgm,转载请注明出处:15并安装mysql主从复制,Linux下Mysql互为基本

关键词: