CentOS源码编译安装MySQL5.6.12

一、环境准备:
我尝试过以下环境都是能成功的:
1、CentOS6.4 minimal镜像最小化缺省安装;
2、RedHat6.4 DVD基本服务器安装;
3、RedHat5.4 DVD基本服务器安装;
4、其他Linux版本未验证。
注意系统安装好之后需要配置好网卡,关闭防火墙及SELINUX:

# 关闭Linux防火墙命令 # chkconfig iptables off # 修改SELINUX配置 # vim /etc/sysconfig/selinux SELINUX=enforcing 修改为: SELINUX=disabled

修改完成后,保存并退出,然后重启系统。

二、先使用 yum -y update 指令升级系统到最新版本。
如果服务器在内网,此步骤可略过。

三、做一些准备工作(以下Linux命令均在su到root用户操作):
1、新增mysql用户组

# groupadd mysql

2、新增mysql用户

# useradd -r -g mysql mysql

3、新建数据库执行文件目录(后面会把编译好的mysql程序安装到这个目录)

# mkdir -p /usr/local/mysql

4、新建数据库数据文件目录

# mkdir -p /home/mysql # mkdir -p /home/mysql/data # mkdir -p /home/mysql/logs # mkdir -p /home/mysql/temp

注意:上面的第3及第4是为了以后将MySQL的数据文件与执行程序文件分离,如果你打算设置到不同的路径,注意修改对应的执行命令和数据库初始化脚本!

5、编辑PATH搜索路径

# vi /etc/profile + # 在profile文件末尾增加两行 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH

使PATH搜索路径立即生效:

# source /etc/profile

6、编辑hosts文件,增加一行,加入本机IP和主机名

# vi /etc/hosts + 192.168.100.2 yimiju

7、安装编译源码所需的工具和库(如果不能在线安装,需要提前配置好本地源,本地源配置方法度娘吧,以后有时间)

# yum -y install wget gcc-c++ ncurses-devel cmake make perl

注意:RedHat5.4源中没有cmake,可以手动编译安装cmake,或者升级到RedHat5.9之后再从源中yum安装cmake。

8、通过FTP或SFTP将mysql-5.6.12.tar.gz源码包上传到/usr/local/src路径下。
如果服务器能上网,也可以通过wget下载mysql-5.6.12.tar.gz。下载地址如下:

# cd /usr/local/src # wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.12.tar.gz/from/http://cdn.mysql.com/

四、开始编译安装mysql-5.6.12
1、进入源码压缩包下载目录

# cd /usr/local/src

2、解压缩源码包

# tar -zxvf mysql-5.6.12.tar.gz

3、进入解压缩源码目录

# cd mysql-5.6.12

4、使用cmake源码安装mysql(如果你打算安装到不同的路径,注意修改下面语句中/usr/local/mysql这个路径!)

#cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/home/mysql/data \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DENABLE_DOWNLOADS=1

上面的这些复制完,回车,然后就开始cmake的过程,一般时间不会很长。

5、cmake结束后开始编译源码,这一步时间会较长,请耐心等待。

# make

6、安装编译好的程序

# make install

注意:如果需要重装mysql,在/usr/local/src/mysql-5.6.12在执行下make install就可以了,不需要再cmake和make

7、清除安装临时文件

# make clean

8、修改目录拥有者

# chown -Rf mysql:mysql /usr/local/mysql # chown -Rf mysql:mysql /home/mysql

9、进入mysql执行程序的安装路径

# cd /usr/local/mysql

10、执行初始化配置脚本,创建系统自带的数据库和表(注意路径/home/mysql/data需要换成你自定定义的数据库存放路径)

# scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data

#初始化脚本在/usr/local/mysql/下生成了配置文件my.cnf,需要更改该配置文件的所有者:

# chown -Rf mysql:mysql /usr/local/mysql

注意:
(1)Tips:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索mysql程序目录下是否有my.cnf";
(2)需要注意CentOS 6.4版操作系统的最小安装完成后,即使没有安装mysql,在/etc目录下也会存在一个my.cnf文件,建议将此文件更名为其他的名字,否则该文件会干扰源码安装的MySQL的正确配置,造成无法启动。修改/etc/my.cnf操作如下:

# mv /etc/my.cnf /etc/my.cnf.bak # 当然也可以删除掉/etc/my.cnf这个文件: # rm /etc/my.cnf

(3)如果你需要用于生产环境,不要急着做下面的mysql启动操作。建议把上一步骤中mysql初始化生成的/usr/local/mysql/mysql.cnf删除,然后把你优化好的mysql配置文件my.cnf放到/etc下。(这是我做mysql主从复制和mysql优化的经验!)

11、复制服务启动脚本

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

12、启动MySQL服务

# service mysql start

13、设置开机自动启动服务

# chkconfig mysql on

14、登录并修改MySQL用户root的密码

# mysql -u root mysql> use mysql; mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456"; mysql> update user set Password = password('123456') where User='root'; mysql> flush privileges; mysql> exit;

15、检测下上一步MySQL用户root密码是否生效:

[root@yimiju etc]# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)——没有密码无法登录,说明密码修改成功了。 [root@yimiju ~]# mysql -u root -p Enter password: ——这里提示时输入你设置的mysql root帐号密码 #登录成功有如下提示: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 422 Server version: 5.6.12-log Source distribution Copyright (c) 2000,2013,Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

16、(可选)运行安全设置脚本,强烈建议生产服务器使用:

[root@yimiju ~]# /usr/local/mysql/bin/mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it,we'll need the current password for the root user. If you've just installed MySQL,and you haven't set the root password yet,the password will be blank,so you should just press enter here. Enter current password for root (enter for none): OK,successfully used password,moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. You already have a root password set,so you can safely answer 'n'. Change the root password? [Y/n] n ---------------这里输入n ... skipping. By default,a MySQL installation has an anonymous user,allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing,and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ---------------这里输入Y ... Success! Normally,root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] n ---------------这里输入n ... skipping. By default,MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing,and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y ---------------这里输入Y - Dropping test database... ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist ... Failed! Not critical,keep moving... - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ---------------这里输入Y ... Success! All done! If you've completed all of the above steps,your MySQL installation should now be secure. Thanks for using MySQL! Cleaning up...

17、重启服务器,检测mysql是否能开机自动启动

 [root@yimiju ~]# reboot

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor 1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep 'Time zone'查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO="static" ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start & nohup ./kibana &
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程, ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属