ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Mysql_安装

2021-12-01 20:31:26  阅读:164  来源: 互联网

标签:slave root mysql5.7 Mysql master mysql 服务器 安装


方式一

查看系统中挂载的低版本安装包 rpm -qa | grep -i mysql
卸载低版本 rpm  -e mysql-5.1.71 --nodeps
安装mysql依赖包
	yum -y install libaio.so.l libgcc_s.so.l
	yum update libstdc++-...
安装客户端
	rpm -ivh Mysql-client.....rpm
安装服务端
	rpm -ivh Mysql-server.....rpm
启动mysql service mysql start
查看服务状态service mysql status
连接数据库 mysql -u root -p
初始密码/root/.mysql_secret目录下的一个文件中
设置密码 set password = password('pw')
授权名称访问:grant all privileges on *.* to 'root' @'%' identified by 'wsj'
关闭服务器防火墙

方式二

下载传送门提取码 n6r3

#mysql安装
#解压
tar -zxvf mysql-5.7.31-el7-x86_64.tar.gz
#修改包名
mv mysql-5.7.31-el7-x86_64 mysql5.7
#进入到目录中
cd ./mysql5.7/
#创建数据目录
mkdir data
#添加用户组
groupadd mysql
#创建用户组全局权限
useradd -M -g mysql -s /sbin/nologin -d /opt/mysql5.7 mysql
#给用户组赋值目录权限
chown -R mysql.mysql /opt/mysql5.7/
#初始化数据库
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql5.7 --datadir=/opt/mysql5.7/data  --console
#修改/etc/my.cnf
[mysqld]
datadir=/opt/mysql5.7/data
socket=/opt/mysql5.7/data/mysql.sock

#设置密码
set password for root@localhost = password('wsj33233');

主从

#修改主服务器
#开启二进制日志
log-bin=mysql-bin
#配置服务器id
server-id=1

#修改从服务
#开启二进制日志 非必须
log-bin=mysql-bin
#配置服务器id
server-id=2

#配置主服务器172.16.xx.xxx 开启权限连接
GRANT REPLICATION SLAVE ON *.* to 'root'@'%' identified by 'passwd'; 
#开通主服务器外部访问权限
grant all privileges  on *.* to root@'%' identified by "passwd";

#登陆主库查看主库状态 注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
show master status;
#配置从库连接中继日志拉取主库信息
change master to master_host='172.16.xx.xxx',master_user='root',master_password='passwd',master_log_file='mysql-bin.000003',master_log_pos=36544,master_port=3307;

#启动从库备份
start slave;  
#查看从库的复制状态
show slave status\G;

#问题排错
ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first.
STOP slave;
#36544 偏移量
master_host='172.16.14.108',master_user='root',master_password='passwd',master_log_file='mysql-bin.000003',master_log_pos=36544,master_port=3307;
start slave;

#Slave_SQL_Running: No
STOP slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave;

mycat 配置

<!--使用mycat使用mysql主从方式-->
<!--修改server.xml 设置连接mycat用户-->
<user name="mycatuser" defaultAccount="true">
		<property name="password">mycatpassword</property>
		<property name="schemas">mycat</property>
		<property name="defaultSchema">mycat</property>
</user>

<!--设置rule.xml中指定-->
<!--自定义表路由规则名称,用于schema.xml中指定table-->
<tableRule name="mod-long-subtest">
  <rule>
    <!--配置表中规则字段-->
    <columns>c_test_id</columns>
    <!--配置路由规则-->
    <algorithm>mod-long</algorithm>
  </rule>
</tableRule>

<!--配置路由规则实现方法-->
<function name="mod-long" class="io.mycat.route.function.PartitionByMod">
  <!--配置主节点数,比如双主双从  如果把双主双从改成4主,那么就是4-->
  <property name="count">2</property>
</function>

<!--配置读写分离,双主双从-->
<!--配置schema逻辑库名称,和server.xml中schema配置的一致 (逻辑库就是客户端连接的库名称)
	checkSQLschema如果为true,则过滤掉schema名称
-->
<schema name="mycat" checkSQLschema="true" sqlMaxLimit="100" ><!--randomDataNode="dn1"-->
  	<!--rule:指定不同的规则及表字段 -->
		<table name="t_test" dataNode="dn1,dn2" rule="mod-long" splitTableNames ="false"/>
		<table name="t_test_sub" dataNode="dn1,dn2" rule="mod-long-subtest" splitTableNames="false"/>
</schema>

<!--指定dn1的数据库信息-->
<dataNode name="dn1" dataHost="localhost1" database="db_test" />
<!--指定dn2的数据库信息-->
<dataNode name="dn2" dataHost="localhost2" database="db_test1" />

<!--配置dn1信息
balance="3"
0:所有读操作发送到当前可用的writeHost节点上
1:所有读操作随机发送到readHost上
2:所有读操作随机发送到writeHost或readHost
3:所有读操作发送到readHost上
writeType="0" 
0:所有写操作在可用的writeHost节点上;
1:所有的写操作随机发送到readHost节点上
2:写操作随机发送到writeHost和readHost节点上
switchType="-1" slaveThreshold="100"
-1:表示不自动切换
1:默认值,自动切换
2:基于mysql主从同步的状态决定是否切换
	
MySQL主从复制状态绑定的读写分离与切换机制,Mycat心跳机制通过检测 show slave status 中的 "Seconds_Behind_Master", "Slave_IO_Running", "Slave_SQL_Running" 三个字段来确定当前主从同步的状态以及Seconds_Behind_Master主从复制时延
-->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
    <!--配置心跳-->
  	<heartbeat>select user()</heartbeat>
    <!--配置主节点信息-->
    <writeHost host="hostM1" url="172.16.xx.xx:3307" user="root" password="pw">
      	<!--配置从节点信息-->
      	<readHost host="hostS1" url="172.16.xx.xx:3307" user="root" password="pw" />
    </writeHost>
</dataHost>

<!--配置dn2信息-->
<dataHost name="localhost2" maxCon="1000" minCon="10" balance="3"writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<!--配置心跳-->
    <heartbeat>select user()</heartbeat>
    <!--配置主节点信息-->
    <writeHost host="hostM2" url="172.16.xx.xx:3307" user="root" password="pw">
    		<!--配置从节点信息-->
    		<readHost host="hostS2" url="172.16.xx.xx:3307" user="root" password="pw" />
    </writeHost>
</dataHost>

标签:slave,root,mysql5.7,Mysql,master,mysql,服务器,安装
来源: https://blog.csdn.net/xiaomengxin521/article/details/121663325

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有