Linux下MySQL 5.6.12数据库编译安装
下载mysql数据库,从官网下载,这里下载的是mysql-5.6.12.tar.gz
2.下载cmake,下载地址是
把上面的两个软件放到/usr/local/src里。
3.使用yum安装一些必须的包。
yum install -y make apr* autoconf automake curl curl-devel gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* cpp glibc libgomp libstdc++-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel libjpeg* libpng* php-common php-gd gettext gettext-devel ncurses* libtool* libxml2 libxml2-devel patch policycoreutils bison
4.编译安装cmake
cd /usr/local/src
tar -zxvf cmake-2.8.12.tar.gz
cd cmake-2.8.12
./configure
make
make install
5.安装mysql
groupadd mysql#添加 mysql组
useradd -g mysql mysql -s /bin/false#添加mysql到mysql组,不允许mysql用户直接登录系统
mkdir -p /data/mysql#创建数据库存放目录
chown -R mysql:mysql /data/mysql#设置mysql数据库目录权限
mkdir -p /usr/local/mysql#创建mysql安装目录
cd /usr/local/src
下面解释一下数据库常用的配置选项。
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql ----指定残可安装路径(默认的就是/usr/local/mysql)
-DMYSQL_DATADIR=/data/mysql ----mysql的数据文件路径
-DSYSCONFDIR=/etc ----配置文件路径
-DWITH_INNOBASE_STORAGE_ENGINE=1 ----使用INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 ----常应用于日志记录和聚合分析,不支持索引
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 ----黑洞存储引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 编译过程中取消一些存储引擎指令介绍
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
-DWITH_READLINE=1 ----支持批量导入mysql数据
-DWITH_SSL=system ----mysql支持ssl会话,实现基于ssl的数据复
-DWITH_ZLIB=system ----压缩库
-DWITH_LIBWRAP=0 ----是否可以基于WRAP实现访问控制
-DMYSQL_TCP_PORT=3306 ----默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock ----默认套接字文件路径
-DENABLED_LOCAL_INFILE=1 ----是否启用LOCAL_INFILE功能
-DEXTRA_CHARSETS=all ----是否支持额外的字符集
-DDEFAULT_CHARSET=utf8 ----默认编码机制
-DDEFAULT_COLLATION=utf8_general_ci ----设定默认语言的排序规则
-DWITH_DEBUG=0 ----DEBUG功能设置
-DENABLE_PROFILING=1 ----性能分析功能是否启用
tar -zxvf mysql-5.6.12#解压文件
cd mysql-5.6.12
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci#配置
make && make install#编译与安装
7.cp /support-files/mysql.server /etc/init.d/mysqld#复制启动脚本到/etc/init.d/目录下并重命名
8.chmod +x /etc/init.d/mysqld#赋予脚本执行权限
9.chkconfig --add mysqld#添加为sysV服务
10.chkconfig mysqld on#开机自启动
11./usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql#mysql 初始化,basedir制定安装目录,datadir制定数据目录,user指定用户。
12.cd /data/mysql# 切换到数据目录
ls#查看生成的文件
ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema test#该目录下一般有下面的几个文件。
13.vim /usr/local/mysql/my.cnf#修改/usr/local/mysql下面的my.cnf文件。
加入下面的参数配置,主要是设置一点端口和套接字等。
binlog-format=ROW
log-bin=master-bin.log
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=1
report-port=3306
port=3306
datadir=/data/mysql
socket=/tmp/mysql.sock
report-host=master.magedu.com
14.service mysqld start#启动数据库
15.mysql命令添加到全局环境变量中
vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
16.重新读取环境变量
source /etc/profile
17.输出mysql的man手册到man命令的查找路径
vim /etc/man.config
MANPATH /usr/local/mysql/man#加一行
18.输出mysql的库文件
vim /etc/ld.so.conf.d/mysql.conf
ldconfig -v
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
19.输出mysql的头文件到系统文件
ln -sv /usr/local/mysql/include/ /usr/include/mysql
"/usr/include/mysql" -> "/usr/local/mysql/include/"