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

Posted 小宇0000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos下mysql源码编译安装和主备异步配置相关的知识,希望对你有一定的参考价值。

安装机器:10.11.1.193、10.11.1.194

主备同步方式:异步同步

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的内容:

技术分享


文件路径:

技术分享


启动数据库服务器

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‘ identifiedby ‘slave‘;

flush privileges;

 

重启数据库服务

show masterstatus;

技术分享


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!







































以上是关于centos下mysql源码编译安装和主备异步配置的主要内容,如果未能解决你的问题,请参考以下文章

Redis Sentinel 源码分析 - Sentinel 选举机制和主备倒换

CentOS7 设置 MySQL 主备同步

CentOS7 设置 MySQL 主备同步

CentOS7 设置 MySQL 主备同步

Centos7源码安装mysql

开发人员学Linux:CentOS7编译安装MySQL5.17.8多实例及主从复制