一、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