MySQL5.6 For CentOS 7.6 源码编译安装实战
- 作者:郭一军
- 原创
- 发布时间:2024-01-15 17:28
- 浏览量:1212
1.关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
vi /etc/selinux/config
SELINUX=disabled
2.网络配置
#service NetworkManager status
#chkconfig NetworkManager off
setup
vim /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart
2.配置sysctl.conf
(省略)
3.检查操作系统上是否安装了MySQL
rpm -qa |grep mysql
#yum remove mysql-libs
4.下载mysql源码包,mysql-5.6.46.tar.gz
5.添加用户和组:
groupadd apps
useradd -d /home/apps -g apps -m apps
passwd apps
6.配MySQL环境变量
[root@mydb4 ~]# vi /etc/profile
export LANG=en_US.UTF-8
export PATH=$PATH:/usr/sbin
export PATH=$PATH:/apps/svr/mysql5/bin
export PATH=$PATH:/apps/sh/tool/:/apps/rpm/percona-toolkit-3.0.13/bin
export MYSQL_HISTFILE=/dev/null
> ~/.mysql_history
[root@mydb4 ~]# source .bash_profile
7.创建目录及授权
mkdir -p /apps/conf/mysql
mkdir -p /apps/dbdat/mysql5_data3306/log
mkdir -p /apps/logs/mysql
mkdir -p /apps/svr/mysql5
mkdir -p /apps/rpm
mkdir -p /apps/run
mkdir -p /apps/tmp
mkdir -p /apps/sh
chown -R apps:apps /apps
chmod -R 755 /apps
8.解压mysql5.6
[root@mydb4 u01]#cd /apps/rpm
tar -zxvf mysql-5.6.46.tar.gz
9.配yum源,安装cmake
1)配置yum源
[root@mydb4 yum.repos.d]# mkdir -p /redhat/mnt
[root@mydb4 yum.repos.d]# mount /dev/cdrom /mnt
[root@mydb4 /]# cp -r /mnt /redhat/
[root@mydb1 /]# vim /etc/yum.repos.d/Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=file:///redhat/mnt
gpgcheck=0
enabled=1
yum install -y lrzsz
2)安装cmake
yum install -y cmake #MySQL5.5开始使用cmake进程工程管理,cmake需要2.8以上版本
yum install -y gcc gcc-c++ #需要使用gcc-c++进行编译
yum install -y ncurses-devel #用于终端操作的开发包
yum install -y bison #MySQL语法解析器需要使用bison进行编译
yum install -y zlib #MySQL使用zlib进行压缩。
yum install -y libxml #用于XML输入输出方式的支持
yum install -y openssl #使用openssl安全套接字方式通信
yum install -y cmake gcc gcc-c++ ncurses-devel bison zlib libxml2 openssl openssl-devel
#rm -rf CMakeCache.txt
可选包
libxml: 用于XML输入输出方式的支持
openssl:使用openssl安全套接字方式通信
dtrace :用于诊断mysql问题
10.编译并安装
静态编译参数:包括与安装路径相关的,数据文件在哪?config在哪?MYSQL启动中要指定的,也不能修改
动态编译参数:与功能特点有关的,比如打开某些参数关闭某些参数
[root@mydb4 u01]# cd mysql-5.6.46
cmake \
-DCMAKE_INSTALL_PREFIX=/apps/svr/mysql5 \
-DINSTALL_DATADIR=/apps/dbdat/mysql5_data3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=yes \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DSYSCONFDIR=/apps/conf/mysql \
-DWITH_READLINE=on
/*
echo $?
0
*/
make
make install
CMAKE_BUILD_TYPE #编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化。
CMAKE_INSTALL_PREFIX #指定make install安装的目标路径。
SYSCONFDIR #指定配置文件的默认路径。
MYSQL_DATADIR #指定data目录的默认路径。
WITH_DEBUG #指定是否有debugging信息,一般用于源码调试时,打开WITH_DEBUG,生产环境关闭。
ENABLED_PROFILING #指定是否可以使用show profile显示操作执行的详细信息。
DEFAULT_CHARSET #指定默认字符集,可以在启动的配置文件中指定。
DEFAULT_COLLATION #指定默认字符比较、排序的规则。
WITH_EXTRA_CHARSETS #指定其他可能使用的字符集。
WITH_SSL #指定SSL的类型,从5.6.6开始默认bundled类型,此外也可以指定SSL库的路径地址。
WITH_ZLIB #指定zlib的类型,用于压缩功能。
WITH_storage_STORAGE_ENGINE #指定编译支持的存储引擎,默认支持MyISAM,MERGE,MEMORY,CSV存储引擎。
ENABLED_LOCAL_INFILE #指定是否允许使用load data infile功能。
WITH_EMBEDDED_SERVER #指定是否编译libmysqld嵌入式库。
INSTALL_LAYOUT #指定安装的布局类型。
chown -R apps:apps /apps
chmod -R 755 /apps
11.MySQL参数配置
vim /apps/conf/mysql/mysql5_3306.cnf
[mysqld]
explicit_defaults_for_timestamp=true #增加一行
[mysqld_safe]
#ledir = /apps/svr/mysql5/bin #注释
innodb_data_file_path=ibdata1:100M:autoextend
innodb_log_file_size=100M
innodb_buffer_pool_size=500M
read_only=off
12.初始化MySQL脚本(apps用户执行)
./scripts/mysql_install_db --defaults-file=/apps/conf/mysql/mysql5_3306.cnf --datadir=/apps/dbdat/mysql5_data3306 --user=apps
chmod -R 755 /apps/dbdat/mysql5_data3306
chmod -R 755 /apps/logs/mysql
在初化时进行日志监控
tail -f /apps/logs/mysql/error3306.log
13.启动mysql
vi .bash_profile ---root用户下添加
PATH=$PATH:$HOME/bin:/apps/svr/mysql5/bin
mysqld_safe --defaults-file=/apps/conf/mysql/mysql5_3306.cnf --user=apps &
14.登录MySQL
[root@uubee8 ~]# mysql -h127.0.0.1 -uroot