系统环境:CentOS 6.8 64位
Mysql版本:mysql-5.6.30
Mysql官网:http://www.mysql.com/
一般来讲,在正式的生产环境中需要下载GA(稳定)版,安装目录通常是/usr/local/mysql,而源码一般下载到/usr/local/src目录下,编译安装过程如下:
一 卸载默认安装的版本:
yum list | grep 'mysql' 确认是否默认安装;
yum -y remove mysql 如果安装则卸载;
二 安装Mysql所依赖的库:
yum -y groupinstall "Development tools" 安装开发工具;
yum -y install ncurses-devel ncureses提供字符终端处理库,如面板和菜单;
三 创建Mysql用户和Mysql组:(如果之前有存在,则删除)
groupadd -r mysql
useradd -r -M -g mysql -s /sbin/nologin mysql
四 下载和安装编译工具Cmake:
cd /usr/local/src
wget https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz
tar -zxf cmake-3.7.1.tar.gz
cd cmake-3.7.1
./bootstrap
make && make install
五 建立数据库目录:
mkdir -pv /usr/local/data 在生产环境中可以单独使用一块硬盘或是逻辑卷;
chown -R mysql.mysql /usr/local/data 数据库目录Mysql用户需要写入权限;
六 安装Mysql:
wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.30.tar.gz
tar -zxf mysql-5.6.30.tar.gz
cd mysql-5.6.30
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 指定安装目录;
-DMYSQL_DATADIR=/usr/local/data \ 指定数据库目录;
-DSYSCONFDIR=/etc \ 指定配置文件目录,
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 开启数据库引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 开启数据库引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 开启数据库引擎
-DWITH_SSL=system \ 启用ssl库支持
-DWITH_ZLIB=system \ 支持zlib库
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ sock文件位置
-DDEFAULT_CHARSET=utf8 \ 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci 默认字符校对
make && make install
七 数据库的初始化:
chown -R mysql.mysql /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/data
八 把Mysql设置为系统服务:
cd /usr/local/mysql/support-files/
cp my-default.cnf /etc/my.cnf 建立配置文件
cp mysql.server /etc/init.d/mysqld 复制启动脚本
chkconfig --add mysqld
chkconfig --level 345 mysqld on
service mysqld start
九 设置Mysql的环境变量:
vim /etc/profile.d/mysql.sh 新建mysql.sh文件,在文件中加入以下路径;
"export PATH=$PATH:/usr/local/mysql/bin"
. /etc/profile.d/mysql.sh 重新读取配置文件
echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf ldconfig
至此,mysql已经安装完成。
备注:如果安装后,在启动过程中出现以下错误:
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/localhost.localdomain.pid).
则可能是以下几方面的原因:
1 查看磁盘空间是否已满;
2 数据库目录是否拥有写入权限;
3 通过 netstat -anpt | grep '3306'命令查看,端口是否被占用;如果被占用则使用 killall mysqld 杀死进程,释放端口;
4 数据库初始化出现问题,可以根据提示进行相应处理;
通常情况下,Mysql错误日志是数据库目录下以.err为后缀的文件。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。