centos下mysql源码编译安装和主备异步配置

安装机器:10.11.1.193、10.11.1.194

配置:CPU:2 * 12核(2.0GHZ),24线程;MEM:120G

主备同步方式:异步同步

mysql版本:mysql community5.6.28


下载源码并解压:

tar -zxf mysql-5.6.28.tar.gz



cmake安装:




安装编译所需环境:

sudo yum install make gcc-c++ cmake bison-develncurses-devel libaio libaio-devel net-tools perl




编译安装mysql

cmake -DCMAKE_INSTALL_PREFIX=/home/liyuming/mysql/mysqld -DCMAKE_INSTALL_DATADIR=/home/liyuming/mysql/mysqld/data-DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0

 

依次在源码目录执行下面的命令即可

make distclean

make -j 20

make install

切记不能执行rm -f CMakeCache.txt!


初始化数据库

cd /home/liyuming/mysql/mysqld

scripts/mysql_install_db--user=mysql --basedir=/home/liyuming/mysql/mysqld --datadir=/home/liyuming/mysql/mysqld/data

 

启动数据库

编辑my.cnf 和 run.sh文件

 

run.sh的内容:



my.cnf的内容:


补充:最好加上配置 socket=/tmp/mysql.sock


文件路径:



启动数据库服务器

sh run.sh server



数据库客户端

sh run.sh client



关闭数据库服务器

sh run.sh stop



数据库调优:

将下面信息追加到my.cnf文件中

back_log=1000

wait_timeout=3600

max_connections=3000

thread_concurrency=48

default-storage-engine=InnoDB

key_buffer_size=8G

innodb_buffer_pool_size=40G

innodb_additional_mem_pool_size=1G

innodb_log_buffer_size=32M

query_cache_size=40G

read_buffer_size=20M

sort_buffer_size=20M

read_rnd_buffer_size=20M

thread_cache_size=640

配置后重新启动数据库服务

 

设置数据库服务器初始信息

 

在启动数据库服务器下操作

mysqladmin -u root password 'root'


or

mysqladmin -h 10.11.1.194 -P 13306 -u root password 'root'


测试

mysql -uroot -proot

mysql -hlocalhost -u root -p

OK


mysql -h 10.11.1.193 -P 13306 -u root -p


此时jdbc也无法连接上mysql


解决方法:

./mysqld_safe--user=mysql --skip-grant-tables --skip-networking &



再开一个客户端

在安装的bin目录下

mysql -uroot mysql

updateuser set host ='%' where user ='root';

UPDATE user SET Password=PASSWORD('root') where USER='root' and host='root' or host='localhost';

UPDATE user SET Password=PASSWORD('root') where USER='root';

deletefrom user where USER='';

FLUSHPRIVILEGES;



然后正常关闭数据库



再次启动数据库服务器,一切可正常使用

 

配置主备

主从同步的条件:

Master:

a 启用二进制日志;

b 选择一个server-id

c 创建具有复制权限的用户

在my.cnf文件中追加下面信息

server-id=1

log-bin=mysql-bin

binlog-do-db=test

binlog-ignore-db= mysql

 

在数据库中执行:

grant replication slave on *.* to'slave'@'10.11.1.194' identified by 'slave';

flush privileges;

 

重启数据库服务

show master status;



Slave:

a 启用中继日志

b 选择一个唯一的server-id

c 连接主服务器,并开始复制数据


在my.cnf文件中追加下面信息

server-id=2

replicate-do-db=test

 

在数据库中执行:

stop slave;

change master to master_host='10.11.1.193', master_port=13306,master_user='slave', master_password='slave';

start slave;

show slave status \G;


一切OK!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值