Mysql-5.7.10安装配置&主备

官网下载:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
上传到/root/backup/下解压
准备工作:
安装编译依赖包:yum -y install make gcc-c++ cmake bison-devel ncurses-devel
防火墙开3306端口:

检查当前系统有没有旧版本mysql,有就强制删:

从MySQL 5.7.5开始Boost库是必需的,下载Boost库,最新稳定版:
http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
上传到/root/backup/下解压并进入目录:
给权限: chmod -R 755 boost_1_59_0
编译并安装:
./bootstrap.sh

./b2

./b2 install

编译安装:
给权限:chmod -R 755 mysql-5.6.28,进入目录
编译:
cmake -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DMYSQL_DATADIR=/data/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

####################################################
  cmake参数说明:
  -DCMAKE_INSTALL_PREFIX= 数据库程序安装路径;
  -DMYSQL_DATADIR= 数据库文件存放路径(不配置的话会默认创建$PREFIX_DIR/data)
  -DMYSQL_UNIX_ADDR= 默认位置是/var/lib/mysql/mysql.sock,如果指定其他路径,需要做一个软链接,或者在配置文件my.cnf中进行设置。
  -DDEFAULT_CHARSET= 默认数据库编码
  -DDEFAULT_COLLATION=默认数据库整理编码
  -DWITH_EXTRA_CHARSETS= 扩展支持编码(all | utf8,gbk,gb2312 | none)
  -DWITH_MYISAM_STORAGE_ENGINE= MYISAM引擎支持(1|0)
  -DWITH_INNOBASE_STORAGE_ENGINE= innoDB引擎支持(1|0)
  -DWITH_MEMORY_STORAGE_ENGINE= MEMORY引擎支持(1|0)
-DENABLED_LOCAL_INFILE=指定是否允许本地执行LOAD DATA INFILE,默认OFF

####################################################

安装:
make -j grep processor /proc/cpuinfo | wc -l #编译很消耗系统资源,小内存可能编译通不过

make install

注意:若第一次的配置错误,需要先删除当前mysql源码目录中的CMakeCache.txt,然后再重新进行cmake配置。

配置PATH:
vi /etc/profile
末尾添加:
PATH=/data/mysql/bin:$PATH
export PATH

保存使其立即生效:
source /etc/profile

配置mysql:
做成系统服务:
cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on

新建mysql用户和用户组
groupadd mysql
useradd -g mysql mysql
修改mysql安装目录权限为mysql:mysql
chown -R mysql:mysql /data/mysql

创建mysql配置文件:
mv /etc/my.cnf /etc/my.cnf.bak
cp /data/mysql/support-files/my-default.cnf /etc/my.cnf

先修改一些基本参数,后续在做调优:

mysql初始化:
/data/mysql/bin/mysqld –initialize-insecure –user=mysql –basedir=/data/mysql –datadir=/data/mysql/data

#######################################
–initialize-insecure:不生成随机密码

#######################################

启动mysql:
/etc/init.d/mysqld start

注意:第一次启动会自动生成一个pid,把生成的pid路径写到my.cnf里

进入mysql设置密码:
mysql -uroot
SET PASSWORD=PASSWORD(‘‘);
设置允许root用户远程访问:
GRANT ALL PRIVILEGES ON _._ TO ‘root‘@’%’ IDENTIFIED BY ‘*
‘ WITH GRANT OPTION;
立即生效:
FLUSH PRIVILEGES;
退出:
quit

后期调优:
新建两个log文件夹:
mkdir /data/mysql/log
mkdir /data/mysql/binlog
my.cnf配置文件里的日志输出到这两个文件夹下

配置mysql主从:
在两台上都配置好binlog,
然后在db-master上运行“SHOW MASTER STATUS”即可看到master有状态

在master新建一个专门同步的用户:

记录下master上执行“SHOW MASTER STATUS”的值
然后在db-slave上运行change master
“CHANGE MASTER TO MASTER_HOST=’*‘, MASTER_USER=’sync’,MASTER_PASSWORD=’*‘,MASTER_LOG_FILE=’log.000001’,MASTER_LOG_POS=1289156;”

然后再db-salve上运行“START SLAVE ”,启动slave

然后再db-salve上运行“SHOW SLAVE STATUS”查看slave状态:

这样就主从做完了