准备工作
更新系统
# apt-get update
安装依赖包
# apt-get install build-essential cmake libncurses5-dev libssl-dev libaio1 libaio-dev zlib1g-dev libreadline-dev bison flex libjemalloc-dev libnuma-dev libboost-all-dev
手动安装Boost 1.59.0(mysql5.7.44特定版本)
下载boost1.59源码包
# wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
编译安装
#yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y
#tar xf boost_1_59_0.tar.gz
#cd boost_1_59_0
#./bootstrap.sh
#./b2 -j4
#./b2 install # 头文件(-DWITH_BOOST=) /usr/local/include/ 库文件 /usr/local/lib/
下载
从
#wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44.tar.gz
#tar xzf mysql-5.7.44.tar.gz
#cd mysql-5.7.44
编译安装
配置与编译
在
#mkdir build
#cd build
# cmake .. \
-DWITH_BOOST=/root/boost_1_59_0 \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_DOCDIR=share/doc/mysql-5.7.44 \
-DINSTALL_MANDIR=/usr/local/mysql/share/man \
-DINSTALL_INFODIR=/usr/local/mysql/share/info \
-DINSTALL_SBINDIR=/usr/local/mysql/bin \
-DINSTALL_SCRIPTDIR=/usr/local/mysql/bin \
-DINSTALL_SUPPORTFILESDIR=/usr/local/mysql/share/mysql \
-DINSTALL_PLUGINDIR=/usr/local/mysql/lib/plugin \
-DINSTALL_EMBEDDED_INCLUDEDIR=/usr/local/mysql/include/mysql-embedded \
-DINSTALL_EMBEDDED_LIBDIR_REL=lib/mysql-embedded \
-DINSTALL_EMBEDDED_BINDIR=/usr/local/mysql/bin \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_DEBUG=0 \
-DWITH_BOOST=/usr \
-DWITH_UNIT_TESTS=0 \
-DWITH_NUMA=0 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READ_ONLY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_CMAKE=1
#make -j$(nproc)
安装mysql
将编译好的
# make install
配置mysql数据库
创建
#groupadd mysql
#useradd -r -g mysql mysql
添加
#echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
#source ~/.bashrc
初始化数据库
创建my.cnf文件
#cp /etc/mysql/my.cnf.fallback /etc/mysql/my.cnf
初始化
# chown -R mysql:mysql /usr/local/mysql
# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql
这里使用了
创建
创建一个简单的
#vi /etc/systemd/system/mysql.service
在文件中添加以下内容:
[Unit]
Descriptinotallow=MySQL Community Server
After=network.target
[Service]
Type=forking
User=mysql
Group=mysql
PIDFile=/usr/local/mysql/tmp/mysql.pid
ExecStart=/usr/local/mysql/bin/mysqld
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown
TimeoutStopSec=60s
RestartSec=1s
Restart=always
[Install]
WantedBy=multi-user.target
保存并退出。
配置开启启动服务,并启动服务
#systemctl daemon-reload
#systemctl enable mysql
#systemctl restart mysql
检查
# systemctl status mysql
登录
# mysql -u root
设置
#ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
#FLUSH PRIVILEGES;
#EXIT;
安全配置
运行安全脚本来增强
# mysql_secure_installation
根据提示完成安全配置。
安装完成!