Centos7编译安装MySQL5.6

编译安装mysql5.6

一.环境准备

二.安装步骤

1. 清除mariadb并安装cmake工具

[root@mysql ~]# yum remove -y  mariadb-libs 
[root@mysql ~]# yum install -y cmake  # 编译安装工具

2. 创建mysql用户

[root@mysql ~]# useradd -s /sbin/nologin -M -r mysql
-s  不允许登录
-M 不创建家目录
-r  系统用户 UID小于1000

3. 创建数据目录并授权

[root@mysql ~]# mkdir -p  /data/mysql
[root@mysql ~]# chown mysql.mysql  /data/mysql/  -R 
 #把属主改为mysql 就可以有读写执行权限

4. 解压,预编译

  • 指定安装路径
  • 指定字符集 防止乱码
  • 开关 本地文件
[root@mysql ~]# tar xvf mysql-5.6.22.tar.gz
[root@mysql ~]# cd mysql-5.6.22
[root@mysql mysql-5.6.22]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 \  
                     -DMYSQL_DATADIR=/data/mysql \
                     -DDEFAULT_CHARSET=utf8 \                           
                     -DDEFAULT_COLLATION=utf8_general_ci \
                     -DENABLED_LOCAL_INFILE=1                                             

5.安装一些依赖软件

  • 没有编译器就会报错 进行编译必须安装gcc编译器
[root@mysql mysql-5.6.22]# yum -y install gcc gcc-c++
  • 安装 ncurses-devel
[root@mysql mysql-5.6.22]# yum -y install ncurses-devel 
  • 总结:预编译前需要安装两个应用 否则会编译失败 yum -y install gcc gcc-c++ ncurses-devel
    编译失败需要删除安装目录下的CMakeCache.txt文件再重新安装

6. 编译,安装

  • 先 make(如果有俩个CPU就make -j2) && 然后 make install
[root@mysql mysql-5.6.22]# make
[root@mysql mysql-5.6.22]# make install

7. 制作软链接 如果装有多个版本就很有必要 方便管理(非必须)

  • 方法一:制作软连接
[root@mysql mysql-5.6.22]# ln -s  /usr/local/mysql5.6  /usr/local/mysql
  • 方法二:把/usr/local/mysql5.6/做成系统命令(做成环境变量)
[root@mysql mysql-5.6.22]# vim /etc/profile.d/mysql.sh
export PATH=$PATh:/usr/local/mysql5.6/bin
[root@mysql mysql-5.6.22]# . /etc/profile.d/mysql.sh

注意:完成所有配置后才启动
如果按任意方法操作,只需要执行mysqld_safe & 即可在后台启动mysql (&:表示在后台启动)。
[root@mysql mysql-5.6.22]# mysql_safe &
如果没有按照这两种方法操作,需要带上绝对路径执行:
[root@mysql mysql-5.6.22]# /usr/local/mysql/bin/mysqld_safe &

  • 安装完成后查看
[root@mysql mysql-5.6.22]# ls /usr/local/mysql5.6/
bin  COPYING  data  docs  include  INSTALL-BINARY  lib  man  my.cnf  my-new.cnf  mysql-test  README  scripts  share  sql-bench  support-files

8.首先安装Perl依赖,然后初始化,生成数据库运行服务所需要的的必要的文件 库、表…

  • 安装依赖,否则初始化会报错
[root@mysql mysql-5.6.22]# yum search Dumper  #查看依赖包
[root@mysql mysql-5.6.22]# yum -y install perl-Data-Dumper  
  • 初始化
[root@mysql mysql-5.6.22]# /usr/local/mysql/scripts/mysql_install_db --user=mysql  --datadir=/data/mysql --basedir=/usr/local/mysql5.6
  • 初始化完成后查看 /data/mysql 必须要有mysql目录
[root@mysql mysql-5.6.22]# ls /data/mysql/
auto.cnf  db1  ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.err  mysql.pid  performance_schema  shiyan.err  test

9.创建配置文件并启动服务

  • mysql默认配置文件 /etc/my.cnf
[root@mysql mysql-5.6.22]# cd /usr/local/mysql5.6/
# 覆盖原有的配置文件 原有的可能有错误
[root@mysql mysql-5.6.22]# cp support-files/my-default.cnf /etc/my.cnf  
#当前路径启动mysql
[root@mysql mysql5.6]# ./bin/mysqld_safe &    

10.查看MySQL是否启动

  • 已经启动成功
[root@mysql mysql5.6]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      927/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      927/sshd
tcp6       0      0 :::3306                 :::*                    LISTEN      1433/mysqld
  • 停止mysql
[root@mysql mysql5.6]# pkill mysqld

11.登录MySQL

  • 初始安装的mysql没有登录密码,只需要指定初始用户登录
[root@mysql mysql5.6]# mysql -uroot -p

mysql
常用选项:
-u 用户
-p密码
-h 远程服务器地址
-P 端口
-S 套接字文件

  • 给root用户设置密码
[root@mysql mysql5.6]# mysqladmin -u root password
New password: 123456
Confirm new password: 123456

三.配置systemd启动mysql

  • 对于支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。
  • 编译安装的mysql默认是没有添加到systemd启动的,所以需要自己进行配置。
  • 配置systemd管理,可以更加方便的控制服务的启停。

可以参考yum安装的mysql的启动文件进行配置,文件内容如下:

[root@mysql mysql5.6]# vim /usr/lib/systemd/system/mysqld.service
#
#  /etc/systemd/system/mysql.service
#
# to make needed changes.
#
# systemd-delta can be used to check differences between the two mysql.service files.
#

[Unit]
Description=MySQL Community Server
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target
Alias=mysql.service

[Service]
User=mysql
Group=mysql

# Execute pre and post scripts as root
PermissionsStartOnly=true

# Needed to create system tables etc.
#ExecStartPre=/usr/bin/mysql-systemd-start pre

# Start main service
ExecStart=/usr/local/mysql5.6/bin/mysqld_safe --defaults-file=/etc/my.cnf

# Don't signal startup success before a ping works
#ExecStartPost=/usr/bin/mysql-systemd-start post

# Give up if ping don't get an answer
TimeoutSec=600

Restart=always
PrivateTmp=false
  • ExecStart=/usr/local/mysql5.6/bin/mysqld_safe # 修改此项,指定为自己的路径
  • –defaults-file=/etc/my.cnf # 指定配置文件

重新载入 systemd,扫描新的或有变动的单元:

[root@mysql mysql5.6]# systemctl daemon-reload

管理:

[root@mysql mysql5.6]# systemctl start mysqld    # 启动
[root@mysql mysql5.6]# systemctl stop mysqld     # 停止
[root@mysql mysql5.6]# systemctl enable mysqld   # 开机自启
[root@mysql mysql5.6]# systemctl disable mysqld  # 取消开机自启
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值