MySQL 数据库服务编译安装

2019-01-01 0 By admin

一、MySQL 数据库安装

MySQL 数据库安装过程中需要提前安装好依赖的数据包、创建相应的服务运行帐号和文件目录。

1.1、源码编译安装系统要求

1、CMake 平台构建框架工具
2、一个可用的ANSI C ++编译器
3、Boost C ++库需要构建MySQL(但不要使用它)
4、The ncurses library.

1.2、安装依赖库

yum -y install make gcc-c++ cmake bison-devel ncurses-devel

1.3、建立mysql用户

groupadd mysql
useradd -g mysql mysql

1.4、建立相应的目录

mkdir /usr/local/mysql
mkdir /data/mysqldb/dbs -p
mkdir /data/mysqldb/mysql-bin
mkdir /data/mysqldb/logs
mkdir /data/mysqldb/run
mkdir /data/mysqldb/relay-bin

1.5、目录权限设置

chown -R mysql:mysql /data/mysqldb
chown -R mysql:mysql /usr/local/mysql

1.6、编译安装常用参数

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DMYSQL_USER=mysql \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install

二、编译参数说明

2.1、有关目录的参数

安装根目录 -DCMAKE_INSTALL_PREFIX=
mysqld目录 -DINSTALL_SBINDIR=
数据存储目录 -DMYSQL_DATADIR=
配置文件目录 -DSYSCONFDIR=
插件目录 -DINSTALL_PLUGINDIR=
手册文件目录 -DINSTALL_MANDIR=
共享数据目录 -DINSTALL_SHAREDIR=
Library库目录 -DINSTALL_LIBDIR=
Header安装目录 -DINSTALL_INCLUDEDIR=
信息文档目录 -DINSTALL_INFODIR=

2.2、存储引擎参数

myisam存储引擎 -DWITH_MYISAM_STORAGE_ENGINE
innodb存储引擎 -DWITH_INNOBASE_STORAGE_ENGINE
archive存储引擎 -DWITH_ARCHIVE_STORAGE_ENGINE
blackhole存储引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE

2.3、库文件加载参数

readline库 -DWITH_READLINE=1
SSL库 -DWITH_SSL=system
zlib库 -DWITH_ZLIB=system
libwrap库 -DWITH_LIBWRAP=0

2.4、其他配置参数

TCP/IP端口 -DMYSQL_TCP_PORT=3306
UNIX socket文件 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
启用加载本地数据 -DENABLED_LOCAL_INFILE=1
扩展字符支持 -DEXTRA_CHARSETS=all(默认:all)
默认字符集 -DDEFAULT_CHARSET=utf8
默认字符校对 -DDEFAULT_COLLATION=utf8_general_ci
嵌入式服务器 -DWITH_EMBEDDED_SERVER=1
mysqld运行用户 -DMYSQL_USER=mysql
调试模式 –DWITH_DEBUG=0(默认禁用)
Profiling -DENABLE_PROFILING=0(默认启用)
注释存储类型 -DWITH_COMMENT=’string’

三、MySQL 数据库安装完成后的设置

3.1、初始化数据目录

安装MySQL之后mysql,必须初始化数据目录(包括系统数据库中的表)。对于某些MySQL安装方法,数据目录初始化可以自动完成。对于其他安装方法,包括通用二进制和源代码发行版的安装,您必须自己初始化数据目录。

3.2、使用mysqld初始化

bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql --datadir=/opt/mysql/mysql/data
执行过程:
1、检测数据目录:如不存在,则创建;如存在且不为空,则产生错误并退出
2、在数据目录中,创建 mysql系统数据库及其表,包括授权表,服务器端帮助表和时区表
3、Innodb 存储引擎所需要的系统表空间和相关数据结构
4、创建’root’@’localhost’超级用户和其他保留用户
5、如果保证文件(fill_help_tables.sql)可用,则生成帮助表。
6、如果–init-file参数设定SQL语句文件,则服务器将执行文件中的语句
7、退出

3.3、使用mysql_install_db初始化

bin/mysql_install_db --user=mysql --basedir=/opt/mysql/mysql --datadir=/opt/mysql/mysql/data
1、mysql_install_db脚本初始化数据库时需要读取my.cnf(default-file)配置文件.
2、已经初始化过的数据库,重新初始化需要先停掉MySQL服务。
3、在服务器上运行多个实例的情况下,新初始化一个数据库,请注意指明my.cnf配置文件。
4、二进制日志、中继日志、错误日志等目录配置要分开并写明。

3.4、配置文件说明

在UNIX和类UNIX系统中,MySQL 启动序按照下面列表读取配置信息。
配置信息生效规则:前面的文件优先读取,后面文件的配置会覆盖前面文件的配置。

File Name Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options (server only)
defaults-extra-file The file specified with –defaults-extra-file, if any
~/.my.cnf User-specific options
~/.mylogin.cnf User-specific login path options (clients only)

3.5、MySQL 数据库服务启动和关闭

/bin/mysqld_safe --user=mysql --basedir=/opt/mysql/mysql --datadir=/opt/mysql/mysql/data &
注意:如果启动命令不写明datadir,而是从my.cnf配置文件中读取;则需要首先排查配置文件的参数赋值是否合适。
/bin/mysqladmin shutdown -S path-to-socket
正确关闭服务

四、服务运行测试

4.1、测试服务安装情况

数据目录初始化并启动服务器后,执行一些简单的测试以确保其工作正常。
使用mysqladmin来验证服务器正在运行。以下命令提供简单的测试来检查服务器是否启动并响应连接:
shell> bin/mysqladmin version
shell>bin/mysqladmin variables

如果无法连接到服务器,请指定一个-u root连接为的选项root。如果您已经为该root帐户分配了密码,则还需要-p在命令行中指定并在出现提示时输入密码。例如:
shell> bin/mysqladmin -u root -p version
输入密码:(enter root password here)

4.2、数据库管理脚本

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start