[置顶] 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的内容:

[置顶] centos下mysql源码编译安装和主备异步配置_第1张图片


my.cnf的内容:

[置顶] centos下mysql源码编译安装和主备异步配置_第2张图片


文件路径:



启动数据库服务器

sh run.sh server

[置顶] centos下mysql源码编译安装和主备异步配置_第3张图片


数据库客户端

sh run.sh client

[置顶] centos下mysql源码编译安装和主备异步配置_第4张图片


关闭数据库服务器

sh run.sh stop

[置顶] centos下mysql源码编译安装和主备异步配置_第5张图片


数据库调优:

将下面信息追加到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'

[置顶] centos下mysql源码编译安装和主备异步配置_第6张图片

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;

[置顶] centos下mysql源码编译安装和主备异步配置_第7张图片


然后正常关闭数据库



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

 

配置主备

主从同步的条件:

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;

[置顶] centos下mysql源码编译安装和主备异步配置_第8张图片


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!

你可能感兴趣的:(源码,mysql,安装,centos,主备)