MySQL安装
2016-04-15 01:32
495 查看
安装要求:
目录安装在/usr/local/mysql
数据目录在/data/mysql/data
源码编译安装
环境准备:
如果系统有安装mysql,最好先处理 配置编译安装:
![](http://s4.51cto.com/wyfs02/M01/7F/05/wKiom1cP0HSx_JeyAAAlJ4sFGjg687.png)
以上是编译成功的提示,但有几个指定的功能未被使用,先安装吧,要花费一些时间:
初始化mysql:
也可以使用/usr/local/mysql/bin/mysql_secure_installation脚本做一些安全配置:root密码,远程登陆,匿名用户删除,test库删除
控制脚本及开机自启动处理、启动服务:
注:1. mysql服务使用的配置文件查找顺序:/etc/my.cnf----->/etc/mysql/my.cnf------>安装目录下的my.cnf------->mysql用户家目录下my.cnf
2. 服务使用service控制启动,实质上是执行bin/mysqld_safe命令
其他文件处理(非必需):
查看已编译选项:
编译安装后会在安装目录下生成的bin/mysqlbug,查看该文件配置字段即可
#cmke . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15//软件安装位置 -DMYSQL_DATADIR=/data/mysql/data//数据文件位置 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock//Unix socket文件位置 -DSYSCONFDIR=/etc//配置文件my.cnf位置 -DMYSQL_TCP_PORT=3306//服务端口,默认的也是3306 -DWITH_MYISAM_STORAGE_ENGINE=1//启用myisam存储引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1//启用innodb存储引擎 -DWITH_MEMORY_STORAGE_ENGINE=1//启用memory存储引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1//启用archive存储引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1//启用blackhole(黑洞)存储引擎 -DWITH_PARTITION_STORAGE_ENGINE=1//启用支持数据库分区 -DENABLED_LOCAL_INFILE=1//允许从本地导入数据 -DWITH_READLINE=1//批量导入数据 -DEXTRA_CHARSETS=all//安装所有字符集 -DDEFAULT_CHARSET=utf8//默认字符 -DDEFAULT_COLLATION=utf8_general_ci//校验字符 -DWITH_SSL=yes -DWIHT_ZLIB=yes -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1//不启用-DWITH_LIBWRAP=0//不启用基于wrap的访问控制-DENABLE_PROFILING=1//启用性能分析功能-DWITH_DEBUG=0//不启用DEBUG功能
cmake与configure编译配置的对比
通用二进制包安装
环境准备:
数据库初始化:
复制service控制文件,启动mysql时报错:
![](http://s1.51cto.com/wyfs02/M01/7F/02/wKioL1cP00jz7K_eAAAYFhQwhEk467.png)
造成以上原因可能有:1.文件权限不足2.机器上之前安装过mysql,找出mysql-bin.index文件,删除即可3.配置文件问题,my.cnf没有指定datadir或是启用了skip-deferated字段,配置不正确也会出现这种问题
RPM包安装
先检查系统是否已安装,有则卸载
目录安装在/usr/local/mysql
数据目录在/data/mysql/data
源码编译安装
环境准备:
# yum -y install make cmake gcc-c++ bison-devel ncurses-devel readline-devel # yum install openssl openssl-devel zlib-devel # mv /etc/my.cnf{,_bak}下载,解压:
如果系统有安装mysql,最好先处理 配置编译安装:
# pwd /usr/local/src/mysql-5.6.15 # ccmake . 或 # cmake . -LH//查看编译可选项 # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15 \ -DMYSQL_DATADIR=/data/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 \ -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_SSL=yes -DWIHT_ZLIB=yes
![](http://s4.51cto.com/wyfs02/M01/7F/05/wKiom1cP0HSx_JeyAAAlJ4sFGjg687.png)
以上是编译成功的提示,但有几个指定的功能未被使用,先安装吧,要花费一些时间:
# make && make install如果出错,要清除旧的编译配置,再编译:
# rm -f CMakeCache.txt
初始化mysql:
# useradd -r -M -s /sbin/nologin mysql //创建mysq系统用户 # cd /usr/local # ln -sv mysql-5.6.15 mysql # mv mysql/my.cnf{,_bak} # cd mysql # chown -R mysql:mysql . # mkdir -p /data/mysql/data # chown -R mysql:mysql /data/mysql/data #./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql //将在/usr/local/mysql/目录下生成my.cnf配置文件 # ln -sv /usr/local/mysql/bin/mysql /usr/bin/mysql
也可以使用/usr/local/mysql/bin/mysql_secure_installation脚本做一些安全配置:root密码,远程登陆,匿名用户删除,test库删除
# /usr/local/mysql/bin/mysqladmin -u root password 'xxx' //为root用户设置密码,默认没有密码 > DROP USER ‘’@localhost;//删除匿名用户
控制脚本及开机自启动处理、启动服务:
# pwd /usr/local/mysql # cp support-files/mysql.server /etc/init.d/mysql # chmod +x /etc/init.d/mysql # chkconfig --add mysql # service mysql start启动成功
注:1. mysql服务使用的配置文件查找顺序:/etc/my.cnf----->/etc/mysql/my.cnf------>安装目录下的my.cnf------->mysql用户家目录下my.cnf
2. 服务使用service控制启动,实质上是执行bin/mysqld_safe命令
其他文件处理(非必需):
//配置环境变量 # echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile # source /etc/profile //库文件添加 # echo "/usr/local/mysql/lib/" > /etc/ld.so.conf.d/mysql.conf # ldconfig //头文件添加 # ln -sv /usr/local/mysql/include /usr/include/mysql //man帮助文件添加 # echo "MANDATORY_MANPATH /usr/local/mysql/man" >> /etc/man_db.conf
查看已编译选项:
编译安装后会在安装目录下生成的bin/mysqlbug,查看该文件配置字段即可
# cat /usr/local/mysql/bin/mysqlbug |grep CONFIGURE_LINE或# mysql_config 命令直接查看,主要是库文件查看 常用编译配置选项说明:
#cmke . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15//软件安装位置 -DMYSQL_DATADIR=/data/mysql/data//数据文件位置 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock//Unix socket文件位置 -DSYSCONFDIR=/etc//配置文件my.cnf位置 -DMYSQL_TCP_PORT=3306//服务端口,默认的也是3306 -DWITH_MYISAM_STORAGE_ENGINE=1//启用myisam存储引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1//启用innodb存储引擎 -DWITH_MEMORY_STORAGE_ENGINE=1//启用memory存储引擎 -DWITH_ARCHIVE_STORAGE_ENGINE=1//启用archive存储引擎 -DWITH_BLACKHOLE_STORAGE_ENGINE=1//启用blackhole(黑洞)存储引擎 -DWITH_PARTITION_STORAGE_ENGINE=1//启用支持数据库分区 -DENABLED_LOCAL_INFILE=1//允许从本地导入数据 -DWITH_READLINE=1//批量导入数据 -DEXTRA_CHARSETS=all//安装所有字符集 -DDEFAULT_CHARSET=utf8//默认字符 -DDEFAULT_COLLATION=utf8_general_ci//校验字符 -DWITH_SSL=yes -DWIHT_ZLIB=yes -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1//不启用-DWITH_LIBWRAP=0//不启用基于wrap的访问控制-DENABLE_PROFILING=1//启用性能分析功能-DWITH_DEBUG=0//不启用DEBUG功能
cmake与configure编译配置的对比
configure | cmake | |
原理 | 执行configure脚本,生成Makefile文件 | 根据CMakeLists.txt生成CMakeCache.txt文件 |
执行方式 | # ./configure | # cmake . |
配置选项查看 | # ./configure --help | #ccmake . 或 # cmake . -LH (先检查后输出) |
常用选项对比 | --prefix=/usr/local/xxxx | -DCMAKE_INSTALL_PREFIX=/usr/local/xxxx |
--with选项 | -DWIHT_xxxxx=1和-DWIHTOUT_xxxx=1 | |
--enable选项 | -DENABLE_xxxx=1 | |
二次配置处理 | # make clean | # rm -f CMakeCace.txt |
其他 | 使用#ccmake . GUI界面配置选项和检查 | |
环境准备:
# mkdir -p /data/mysql/data # useradd -r -M -s /sbin/nologin -d /data/mysql mysql # chown -R mysql:mysql /data/mysql/data # mv /etc/my.cnf{,_bak}二进制tar包处理
# tar xf /usr/local/src/mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ # cd /usr/local/ # ln -sv mysql-5.6.21-linux-glibc2.5-x86_64 mysql # cd mysql # chown -R mysql:mysql .
数据库初始化:
# pwd /usr/local/mysql # mv my.cnf{,_bak} # ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql其他操作和编译安装一样,通用二进制包就是源码编译好的包,只要修改成适合于系统环境的就可以了修改配置文件,加上基础配置:
# vim /usr/local/mysql/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/data/mysql/data port=3306 server_id=1 socket=/tmp/mysql.sock
复制service控制文件,启动mysql时报错:
![](http://s1.51cto.com/wyfs02/M01/7F/02/wKioL1cP00jz7K_eAAAYFhQwhEk467.png)
造成以上原因可能有:1.文件权限不足2.机器上之前安装过mysql,找出mysql-bin.index文件,删除即可3.配置文件问题,my.cnf没有指定datadir或是启用了skip-deferated字段,配置不正确也会出现这种问题
RPM包安装
先检查系统是否已安装,有则卸载
#yum list installed |grep mysql #rpm -qa | grep mysql #rpm -e --nodeps mysql系统提供的rpm包安装(自动解决依赖关系)
# yum install mysql mysql-server mysql-command mysql-devel官方提供的rpm包
# rpm -ivh mysql.5.6.12.rpm
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复