9、查看Master上面的状态;
mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | updatelog.000012 | 15016 | data | mysql | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
由此可见两者的File、Position存在问题,所要要去Slave上设置对应主库的Master_Log_File、Read_Master_Log_Pos;执行如下语句;
mysql>slave stop;
mysql>CHANGE MASTER TO MASTER_HOST='主库ip',MASTER_USER='slave', MASTER_PASSWORD='******',MASTER_LOG_FILE='updatelog.000012',MASTER_LOG_POS=15016;
确保 Slave_IO_Running: Yes 、Slave_SQL_Running: Yes都要为YES才能证明Slave的I/O和SQL进行正常
10、在这期间登录mysql经常会用到一些语句,我写下来。
show databases;
show tables;
create database 库明
create table 表明(id int, name varchar(100));
insert into values(a,tom)
create table 表明(id int)
insert into 表明 values(1)
drop table 表明
delete from user where user='删除用户'
select * from user,host from user; 查看用户和登录权限的
use 库明
MySQL插入100万条记录测试 存储过程
BEGIN
#Routine body goes here...
DECLARE i INT DEFAULT 0;
WHILE i < 1000000 DO
INSERT INTO test values(i, concat('zhangsan',i));
SET i = i + 1;
END WHILE;
END
装amoeba之前,要把amoeba连接数据库的用户名和密码一定要授权,命令如下:
建立amoeab用户赋予权限命令:grant all on *.* to 'amoebauser'@'%'identified by 'amoebapassword'
注:在mysql主库上边授权.
10、Amoeba的安装
Amoeba 下载地址:http://sourceforge.net/projects/amoeba/
mkdir /usr/local/amoeba
wget http://softlayer.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.1.0-RC5.tar.gz
tar xzf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba
配置全局环境变量
vi /etc/profile
export PATH=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/
export AMOEBA_HOME=/usr/local/amoeba
export PATH=/usr/local/amoeba/bin:$PATH
说一下java的变量,可以用which java 和whereis java去查找,找不到就用 find / -name java 查找,不要被连接文件糊弄了。要看清楚。
我这里就用 find / -name java 查找的。
然后 让环境变量生效
source /etc/profile
11、Amoeba for mysql配置
配置Amoeba for mysql的读写分离主要涉及两个文件:1、/usr/local/amoeba/conf/dbServers.xml
此文件定义由Amoeba代理的 数据库如何连接,比如最基础的:主机IP、端口、Amoeba使用的用户名和密码等等。
2、/usr/local/amoeba/conf/amoeba.xml
此文件定义了Amoeba代理的相关配置。
dbServers.xml文件配置
abstractServer配置:${defaultManager} 64 128 3306 dbname root root 500 500 10 600000 600000 true true
此部分定义真实mysql服务器的端口,数据库名称,mysql用户及密码。
主从数据库定义:
192.168.0.1 192.168.0.2 192.168.0.3 1 Slave1,Slave2
此部分定义主服务器,从服务器,及从服务器连接池。这里只定义数据库地址,它们的用户及密码就是上面的abstractServer里的设置。注意用来连接真实mysql服务器的用户必须拥有远程连接权限。
amoeba.xml配置
amoeba连接验证配置:
root root ${amoeba.home}/conf/access_list.conf
这里定义连接amoeba时用来验证的用户及密码。
读写分离配置:
Master Master virtualSlave
defaultPool:配置了默认的数据库节点,一些除了SELECTUPDATEINSERTDELETE的语句都会在defaultPool执行。
writePool :配置了数据库写库,通常配为Master,如这里就配置为