+++++++++++++++++++++++++++++++++++++++++++
标题:MySQL数据库实例部署时间:2019年5月2日内容:MySQL源码包进行编译,然后部署MySQL单实例+++++++++++++++++++++++++++++++++++++++++++1. MySQL源码包编译1.1 安装编译环境# yum install -y gcc gcc-c++# yum install -y ncurses-devel.x86_64# yum install -y libaio.x86_64# yum install -y bison.x86_64# yum install -y gcc-c++.x86_64# yum install -y cmake.x86_64 //如果cmake版本过低,卸载低版本,安装高版本的cmake。# wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz# tar zxvf boost_1_59_0.tar.gz# mv boost_1_59_0 /usr/local/boost1.2 编译参数详解-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #mysql编译安装目录-DMYSQL_DATADIR=/home/mysql3306/mysql3306 #mysql默认数据目录 -DDEFAULT_CHARSET=utf8 #mysql默认编码-DEXTRA_CHARSETS=all #编译其他编码-DSYSCONFDIR=/etc #配置文件默认目录-DENABLED_LOCAL_INFILE=1 #是否允许载入外部数据文件-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #默认sock文件地址-DDEFAULT_COLLATION=utf8_general_ci #默认排序规则 -DMYSQL_TCP_PORT=3306 #默认端口 -DMYSQL_USER=mysql #默认用户 -DWITH_MYISAM_STORAGE_ENGINE=1 #引擎支持-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_BOOST=/usr/local/boost #指定c++ boost库的位置1.3 . MySQL软件编译# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql3306/mysql3306 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_BOOST=/usr/local/boost# make# make install2. MySQL单实例部署2.1 配置MySQL安装环境# useradd -s /sbin/nologin mysql //该用户不需要登录权限# mkdir -p /data/mysql/mysql# mkdir -p /data/mysql/logs# chown -R mysql:mysql /data/mysql2.2 配置MySQL配置文件# cp my.cnf /etc/my.cnf# vim /etc/my3306.cnf 修改配置文件中的与路径相关的参数 port = 3306 socket = /tmp/mysql3306.sock datadir = /data/mysql/mysql server-id = 441203306 //MySQL实例的唯一标号 innodb_buffer_pool_size = 256M //实验环境下,根据实际情况分配内存 其他参数则需要根据具体需求进行修改。2.3 MySQL实例内存分配原则单实例:建议单独部署在单独的服务器中,分配内存为服务器内存的75%。多实例:建议核心节点单独部署在单独的服务器中,内存具体分配根据数据库服务器的压力决定。2.4 MySQL实例初始化# tar zxvf mysql-5.7.19.el6.tar.gz -C /usr/local/# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/mysql/ --user=mysql注意:--initialize mysql5.7初始化会创建随机密码;--initialize-insecure 初始化启动后没有密码。MySQL5.6版本的数据库初始化脚本为mysql_install_db;MySQL5.7版本数据库初始化脚本为mysqld。# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &注意:启动时先指定配置文件# ps -ef |grep mysql2.5 配置MySQL环境变量# vim /etc/profile export MYSQL_HOME=/usr/local/mysql export PATH=$MYSQL_HOME/bin:$PATH:$HOME/bin# source /etc/profile