
源码编译Mysql-5.6.38
1.安装依赖
[root@mysql03 ~]# yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel2.创建用户和组
[root@mysql03 ~]# useradd -s /sbin/nologin -M mysql3.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=./boost4.编译并安装
[root@mysql03 mysql]# make && make install5.创建必要目录
[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/profile7.初始化<系统>数据,初始化管理员的临时密码**
1.卸载系统自动安装mariadb-libs
[root@db01 ~]# yum remove mariadb-libs2.初始化数据(5.7之后版本):
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/mydata8.书写默认配置文件
[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 status10.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