命令记不住

登陆

源码编译 Mysql-5.6.38

源码编译Mysql-5.6.38

1.安装依赖

[root@mysql03 ~]# yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel

2.创建用户和组

[root@mysql03 ~]# useradd -s /sbin/nologin -M mysql

3.camake进行编译

[root@mysql03 ~]# mkdir /usr/local/mysql
# 创建安装的目录
[root@mysql03 mysql]#ls
boost           cmake_install.cmake  CPackConfig.cmake        extra                libevent         man         rapid             sql-common     VERSION
BUILD           CMakeLists.txt       CPackSourceConfig.cmake  include              libmysql         mysql-test  README            storage        VERSION.dep
client          cmd-line-utils       CTestTestfile.cmake      info_macros.cmake    libmysqld        mysys       regex             strings        vio
cmake           config.h.cmake       dbug                     INSTALL              libservices      mysys_ssl   scripts           support-files  win
CMakeCache.txt  configure.cmake      Docs                     libbinlogevents      make_dist.cmake  packaging   source_downloads  testclients    zlib
CMakeFiles      COPYING              Doxyfile-perfschema      libbinlogstandalone  Makefile         plugin      sql               unittest

[root@mysql03 mysql]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/mydata \
-DSYSCONFDIR=/usr/local/mysql/conf \
-DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=bundled  -DWITH_ZLIB:STRING=bundled \
-DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost

4.编译并安装

[root@mysql03 mysql]# make && make install

5.创建必要目录

[root@mysql03 ~]# mkdir /usr/local/mysql/mydata
[root@mysql03 ~]# mkdir /usr/local/mysql/conf
[root@mysql03 ~]# mkdir /usr/local/mysql/tmp
[root@mysql03 ~]# chown -R mysql:mysql /usr/local/mysql*

6.修改环境变量

[root@db01 bin]# vi /etc/profile
export PATH=/usr/local/mysql/bin:$PATH

[root@db01 bin]# source /etc/profile

7.初始化<系统>数据,初始化管理员的临时密码**

1.卸载系统自动安装mariadb-libs

[root@db01 ~]# yum remove mariadb-libs

2.初始化数据(5.7之后版本):

[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/mydata

8.书写默认配置文件

[root@db01 ~]# vi /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/mydata
socket=/usr/local/mysql/tmp/mysql.sock
server_id=6
port=3306

[mysql]
socket=/usr/local/mysql/tmp/mysql.sock
prompt=db01-[\\d]>

9.centos6 sys-v模式管理mysqld

[root@db01 support-files]# cd  /usr/local/mysql/support-files
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld 

[root@db01 support-files]# /etc/init.d/mysqld restart
[root@db01 support-files]# /etc/init.d/mysqld stop
[root@db01 support-files]# /etc/init.d/mysqld start
[root@db01 support-files]# /etc/init.d/mysqld status

10.Centos7 使用systemd管理mysql

[root@db01 ~]# vi /etc/systemd/system/mysqld.service 
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

[root@db01 mysql]# /etc/init.d/mysqld stop

**注意:**将原来模式启动mysqld先关闭,然后再用systemd管理。

systemctl  start/stop/restart/status   mysqld
推荐阅读