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