mysql怎么做读写分离 mysql读写分离amoeba

如何实现mysql读写分离Slave从服务器(Ubuntu)
(1)找到MySQL安装文件夹修改my.cnf文件,vim my.cnf
s
(2) ./support-files/myql.server restart 重启MySQL服务,./bin/mysql 进入MySQL命令窗口
(3)连接Master
change master to master_host='192.168.0.104', //Master 服务器Ip
master_port=3306,
master_user='repl',
master_password='mysql',
master_log_file='master-bin.000001',//Master服务器产生的日志
master_log_pos=0;
(4)启动Slave
start slave;
MySql 读写分离怎么配置?。浚浚浚?/h2>MySql 读写分离配置 MySQL是开源的关系型数据库系统 。MySql 读写分离配置,主从同步复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程 。MySql 读写分离配置 配置主服务器 (master) 1、编辑数据库配置文件my.cnf 或 my.ini (windows),一般在/etc/目录下 。#vi /etc/my.cnf 在[mysqld]的下面加入下面代码: log-bin=mysql-bin server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1 binlog-do-db=wordpress binlog_ignore_db=mysql server-id=1中的1可以任定义,只要是唯一的就行 。binlog-do-db=wordpress是表示只备份wordpress 。binlog_ignore_db=mysql表示忽略备份mysql 。不加binlog-do-db和binlog_ignore_db,那就表示备份全部数据库 。2、然后重启MySQL: #service mysqld restart 3、登录MySQL服务器 。#mysql -uroot -pMySql 读写分离其余配置 在主服务器新建一个用户赋予“REPLICATION SLAVE”的权限 。你不需要再赋予其它的权限 。在下面的命令,把X.X.X.X替换为从服务器的IP 。mysqlCREATE USER 'user'@ 'X.X.X.X' IDENTIFIED BY 'password'; mysqlGRANT REPLICATION SLAVE ON *.* TO 'user'@'X.X.X.X' IDENTIFIED BY 'password'; 4、执行以下命令锁定数据库以防止写入数据 。mysqlFLUSH TABLES WITH READ LOCK; 5、退出mysql命令行,导出数据库 #mysqldump -u root -p123456 --all-databases/root/all.sql 6、使用scp命令传输数据库文件all.sql到从服务器 。#scp /root/all.sql root@:/root 7、再次连接数据库进入mysql命令行查看master状态 。mysqlSHOW MASTER STATUS; 请记下显示的信息,配置从服务器会用到 。+——————+———-+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———-+————–+——————+ | mysql-bin.000001| 253| dbispconfig | mysql | +——————+———-+————–+——————+ 1 row in set (0.00 sec) 8、解锁数据表 。mysqlUNLOCK TABLES; 配置从服务器 (slave) 登录从服务器 。1、导入主服务器的数据库 。#mysql -u root -p123456/root/all.sql 2、编辑配置文件my.cnf,在[mysqld]下面加入: server-id=2 注:2可以自己定义,只要保证唯一的就行 。3、保存文件并重启mysqld 。#service mysqld restart 4、登录mysql服务器,执行以下命令 。mysqlCHANGE MASTER TO MASTER_HOST='X.X.X.X', MASTER_USER='user', MASTER_PASSWORD='password', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000001, MASTER_LOG_POS=253, MASTER_CONNECT_RETRY=10; 注: MASTER_HOST:主服务器的IP 。MASTER_USER:配置主服务器时建立的用户名 MASTER_PASSWORD:用户密码 MASTER_PORT:主服务器mysql端口,如果未曾修改,默认即可 。这里master_log_file和master_log_pos就是前面show master status的结果 。5、启动slave进程 。mysqlSTART SLAVE; mysqlSHOW SLAVE STATUS; 如果能查出一条记录 那么,配置成功6、查看mysql的日志,一般在/var/log/目录下 , 如果启动成功,你应该会看到类似下面的日志 。091104 8:42:02 [Note] Slave I/O thread: connected to master ‘root@X.X.X.X:3306?, replication started in log ‘mysql-bin.000001? at position 98 现在主服务器和从服务器已经配置好了 。另外你可能需要设置主服务器的数据库二进制日志的过期时间,可以在配置文件中使用参数expire_logs_days来设定 。java spring事务设置,方法头部设置 @Transactional(readOnly=true) java 连接 驱动 设置 jdbc.connection.driver=com.mysql.jdbc.ReplicationDriver jdbc.connection.url=jdbc:mysql:replication://192.168.202.190,192.168.202.190/job?useUnicode=truecharacterEncoding=utf-8MySql 读写分离配置到此结束 资料来源:

推荐阅读