用户综合分析系统: ------ MySql安装、主从复制、读写分离

环境准备

1、卸载mariadb,否则安装mysql会出现冲突
2、执行命令rpm -qa | grep mariadb
3、列出所有被安装的mariadb rpm 包;
4、执行命令rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

本地安装

#执行本地安装包之前必须先安装vim
yum install -y vim
安装步骤

获取安装包上传linux系统

rpm -ivh perl-* rpm -ivh
net-tools-2.0-0.22.20131004git.el7.x86_64.rpm rpm -ivh
mysql-community-common-5.6.42-2.el7.x86_64.rpm rpm -ivh
mysql-community-libs-5.6.42-2.el7.x86_64.rpm rpm -ivh
mysql-community-client-5.6.42-2.el7.x86_64.rpm rpm -ivh
mysql-community-server-5.6.42-2.el7.x86_64.rpm

设置root用户密码

1.启动mysql数据库
[root@localhost mysql]# systemctl start mysqld
2.修改mysql数据库密码
mysqladmin -u root -p password 回车 输入原始密码 在输入新的密码

注意:5.7之前版本安装完成之后没有密码,mysql5.7之后的版本的初始密码是随机生成的,放在了 /var/log/mysqld.log使用命令 grep ‘temporary password’ /var/log/mysqld.log 读出来即可

3.登录mysql [root@localhost mysql]# mysql -u root -p

开启远程访问

登录mysql,并选择使用mysql数据库
mysql -u root -p
密码

执行如下命令
grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
刷新权限
flush privileges;
重启服务
systemctl restart mysqld

MySQL主从复制

1.修改mysql的配置文件
	[root@localhost mysql]# vim /etc/my.cnf
2.分别在配置文件中加入如下配置

	mysql(master):
		server-id=1
		log-bin=mysql-bin
		log-slave-updates
		slave-skip-errors=all
	
	msyql(slave):
		server-id=2
		log-bin=mysql-bin
		log-slave-updates
		slave-skip-errors=all
		
		注意:两个机器的server-id不能一致

重启mysql服务
systemctl restart mysqld
登录mysql执行如下命令检测配置是否生效
SHOW VARIABLES like ‘server_id’;
删除uuid
rm -rf /var/lib/mysql/auto.cnf
重启mysql服务
systemctl restart mysqld
登录master节点执行如下命令
show master status;

登录从节点执行如下命令:
		change master to 
		master_host='192.168.17.150',
		master_user='root',
		master_password='root',
		master_log_file='mysql-bin.000002',//主节点的file 
		master_log_pos=120;//主节点的position

开启从节点
start slave;
查看从节点状态
show slave status\G;
************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.15.0.9
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 120
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

注意:
		1.出现 Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 说名成功,
		2.如果在搭建过程出现错误,可以查看查看错误日志文件 cat /var/log/mysqld.log

关闭主从复制(在从节点执行) stop slave;

注意:如果出现Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593错误,请执行如下命令,rm -rf /var/lib/mysql/auto.cnf删除这个文件,之所以出现会出现这样的问题,是因为我的从库主机是克隆的主库所在的主机,所以auto.cnf文件中保存的UUID会出现重复.

安装Mycat

1.下载mycat
http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

2.解压mycat
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
3.查看解压之后目录]
[root@localhost mycat]# ls
总用量 12
drwxr-xr-x. 2 root root 190 10月 14 22:58 bin
drwxrwxrwx. 2 root root 6 3月 1 2016 catlet
drwxrwxrwx. 4 root root 4096 10月 14 22:58 conf
drwxr-xr-x. 2 root root 4096 10月 14 22:58 lib
drwxrwxrwx. 2 root root 6 10月 28 2016 logs
-rwxrwxrwx. 1 root root 217 10月 28 2016 version.txt
4.移动到/usr目录
mv mycat/ /usr/
5.配置mycat中conf下的配置schema.xml

<!-- 定义MyCat的逻辑库  -->   
    <schema name="test_schema" checkSQLschema="false" sqlMaxLimit="100" dataNode="testNode"></schema>
    <!-- 定义MyCat的数据节点 -->
    <dataNode name="testNode" dataHost="dtHost" database="test" />
   <dataHost name="dtHost" maxCon="1000" minCon="10" balance="1"
                writeType="0" dbType="mysql" dbDriver="native" switchType="-1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!--写节点-->
                <writeHost host="hostM1" url="192.168.28.128:3306" user="root"
                        password="root">
                  		<!--从节点-->
                			<readHost host="hostS1" url="192.168.28.129:3306" user="root" password="root" />
                </writeHost>
   </dataHost>

6.配置登陆mycat的权限server.xml

<system>
                <!-- 这里配置的都是一些系统属性,可以自己查看mycat文-->
                <property name="defaultSqlParser">druidparser</property>
                <property name="charset">utf8mb4</property>
        	</system>

			<user name="root">
                <property name="password">root</property>
                <property name="schemas">test_schema</property>
        	</user>

7.启动mycat
mycat console
8.查看日志
tail -f …/logs/mycat.log

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值