linux 安装mysql和主从配置 + Spring 基于注解配置mysql读写分离

本文详细介绍MySQL在Linux系统的安装步骤、配置主从复制的方法及调整密码策略的过程,并提供了一个基于SpringMVC的读写分离示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 卸载已有的mysql 

http://www.cnblogs.com/kerrycode/p/4364465.html

1.安装mysql
yum -y install wget
下载 http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 或者 https://download.youkuaiyun.com/download/maple980326/12037473 的 rpm文件

粘贴至 maple用户 目录
cd 至 maple用户目录
安装mysql的YUM源:rpm -ivh mysql57-community-release-el7-11.noarch.rpm
检查mysql的YUM源是否安装成功:yum repolist enabled | grep "mysql.*-community.*" 
yum install mysql-community-server
systemctl start mysqld
查看默认密码:grep 'temporary password' /var/log/mysqld.log

使用grep 'temporary password' /var/log/mysqld.log找不到root密码
打开mysqld.log中根本没有temporary password

1.删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)
rm -rf /var/lib/mysql

 

2.重启mysqld服务
systemctl restart mysqld

 

3.再去找临时密码
grep 'temporary password' /var/log/mysqld.log

执行以下命令脚本

set global validate_password_policy=0;set global validate_password_mixed_case_count=0;

set global validate_password_number_count=3;set global validate_password_special_char_count=0;

set global validate_password_length=3;


mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.05 sec)
mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file    |       |
| validate_password_length             | 3     |
| validate_password_mixed_case_count   | 0     |
| validate_password_number_count       | 3     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 0     |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
4)修改简单密码:
mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('123');
Query OK, 0 rows affected, 1 warning (0.00 sec)

grant all on *.* to 'root'@'%' identified by 'root' with grant option;

systemctl restart mysqld;

3. 主从配置

http://www.cnblogs.com/alvin_xp/p/4162249.html

http://www.cnblogs.com/sustudy/p/4174189.html

根据以下教程配置

配置master ,修改 etc 下面的 mysql.conf 文件,添加以下内容

server-id=1   
log-bin=master-bin
binlog_checksum=none
log-bin-index=master-bin.index
binlog-do-db=business_maple     
binlog-ignore-db=mysql  

重启服务:systemctl restart mysqld

执行以下命令,获取 master_log_file 跟 master_log_pos 值

 SHOW MASTER STATUS \G

配置 slave :修改 etc 下面的 mysql.conf 文件,添加以下内容

[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

slave-skip-errors=all              ps:slave同步数据忽略报错sql,比如主从数据不一致,在不一致的基础上配置主从同步,slave很有可能会报sql错误

 

重启服务:systemctl restart mysqld

运行 一下代码

change master to master_host='192.168.0.104',master_port=3306,master_user='repl',master_password='mysql', master_log_file='master-bin.000002',master_log_pos=123;

start slave; 或 stop slave;

show slave status\G

 

SpringMVC 基于注解 配置mysql 读写分离 + 德鲁伊 + mybatis 

demo 源码下载地址:

http://download.youkuaiyun.com/download/maple980326/9977130

参考文档

http://www.cnblogs.com/surge/p/3582248.html

 

application xml 配置

 

<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="false"/>

<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<bean id="manyDataSourceAspect" class="com.maple.dynamic.DataSourceAspect" />
<aop:config>
<aop:aspect id="c" ref="manyDataSourceAspect" order="1">
<aop:pointcut id="tx" expression="execution(public * com.maple.dao.*.*(..))"/>
<aop:before pointcut-ref="tx" method="before"/>
</aop:aspect>
</aop:config>

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值