基于Centos6.5的MySQL5.7.15二进制源码安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Centos6.5的MySQL5.7.15二进制源码安装相关的知识,希望对你有一定的参考价值。

操作系统准备,本次mysql5.7实战安装是在Centos6.5 x86_64系统上完成。如下是系统详情。

[[email protected] ~]#uname -a
Linux mysqlserver2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64GNU/Linux
[[email protected] ~]#cat /etc/redhat-release
CentOS release 6.5(Final)

1.MySQL软件包准备

本次实战使用,下载的是版本是mysql5.7.15社区版。安装包下载二进制源码免编译的包。可以通过mysql官网下载,http://dev.mysql.com/downloads/mysql/

如下链接是我已经下载好保存在网盘的,也可以参考使用。

http://pan.baidu.com/s/1eSr57oQ

技术分享

(官网已经更新到5.7.16了技术分享

mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz

安装包通过ftp或者secureCRT工具上传到centos系统中

2.解压MySQL软件包,指定安装目录,修改MySQL目录名

将mysql安装包上传到centos系统后,解压软件包。将解压后生成的目录,复制到/usr/local/下并改名为mysql,/usr/local/mysql就是MySQL数据库的安装目录。

[[email protected] mysql]tar  xfz mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz
[[email protected] mysql]mv  mysql-5.7.15-linux-glibc2.5-x86_64  /usr/local/mysql
[[email protected] mysql]ln -svmysql-5.7.15-linux-glibc2.5-x86_64 /usr/local/mysql

技术分享

3.创建mysql用户

[[email protected] mysql]# groupadd mysql
[[email protected] mysql]# useradd -g mysql -s/sbin/nologin -M mysql
[[email protected] mysql]#id mysql    #检测是否创建成功

技术分享

4.创建mysql数据目录和日志目录。mysql在初始化数据库的时候会用到该数据目录

[[email protected] mysql]# mkdir /mysql  /mysql/data  /mysql/log

技术分享

5.更改目录权限

更改目录权限,以便mysql在初始化时候顺利进行。

[[email protected] mysql]#
chown -R mysql:mysql /usr/local/mysql  /mysql

技术分享

6.创建my.cnf文件

[[email protected] local]# vi /etc/my.cnf

配置文件如下:

    [client]

    port = 3306

    socket = /tmp/mysql.sock

    [mysqld]

    server_id=10

    port = 3306

    user = mysql

    socket = /tmp/mysql.sock

    basedir = /usr/local/mysql

    datadir = /mysql/data

    pid-file = /mysql/data/mysql.pid

    max_connections = 1000

    max_connect_errors = 1000

    table_open_cache = 1024

    max_allowed_packet = 128M

    open_files_limit = 65535

    # [innodb]

    innodb_buffer_pool_size = 1024M

    innodb_file_per_table = 1

    innodb_write_io_threads = 4

    innodb_read_io_threads = 4

    innodb_purge_threads = 2

    innodb_flush_log_at_trx_commit = 1

    innodb_log_file_size = 512M

    innodb_log_files_in_group = 2

    innodb_log_buffer_size = 16M

    innodb_max_dirty_pages_pct = 80

    innodb_lock_wait_timeout = 30

    innodb_data_file_path=ibdata1:1024M:autoextend

    ##log

    log_error = /mysql/log/mysql-error.log

    slow_query_log = 1

    long_query_time = 1

    slow_query_log_file = /mysql/log/mysql-slow.log

    sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

说明:这里只是进行了一些简单的配置,如果稍后需要可以自己按需添加配置

7.初始化数据库

要点说明:在5.7.6之前初始化的方法是:

    数据库安装目录/scripts/mysql_install_db--user=mysql

此次实战操作下载的是最新的5.7.155.7.6之后的版本初始化数据库不再使用mysql_install_db,使用

bin/mysqld --initialize--user=mysql--basedir=/usr/local/mysql--datadir=/mysql/data

7.1进入数据库目录,以下配置都在/usr/local/mysql下,完成初始化

[[email protected] mysql]bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data  --innodb_undo_tablespaces=3--explicit_defaults_for_timestamp

技术分享

技术分享

如果配置了my.cnflog_error,那么初始密码在log_error文件中,否则会打印出来。如下图中,红色笔迹勾选的就是密码。A temporary is generated [email protected]:-7&YUR<%ox-   MySQL初始化完成后就可以使用这个密码在本机通过root用户登录。

技术分享

[[email protected] mysql]bin/mysql_ssl_rsa_setup --datadir=/mysql/data

技术分享

7.2配置启动文件,启动MySQL服务

Mysql的启动文件mysql.server放在mysql源码包中,如下目录/usr/local/mysql/support-files,复制该文件同时改名为mysql/etc/init.d/mysql

技术分享

[[email protected] bin]cpsupport-files/mysql.server /etc/init.d/mysql

技术分享

mysql启动设置成功如下,但是启动mysql失败,因为环境变量没有配置。

技术分享

7.3配置环境变量

方法一:

[[email protected] mysql]# vim 
/etc/profile

技术分享

mysql_home=/usr/local/mysql

PATH=$PATH:$mysql_home/bin

方法二:

[[email protected] bin]#
 echo‘PATH=/usr/local/mysql/bin:$PATH‘ >> /etc/profile

使添加的mysql的环境变量生效

[[email protected] bin]# source /etc/profile
[[email protected] bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

技术分享

MySQL 环境变量增加内容小结

echo ‘export PATH=/mysql安装目录/bin:$PATH‘>>/etc/profile

tail -l /etc/profile

source /etc/profile

echo $PATH

7.4设置开机启动mysql

[[email protected] bin]# chkconfig --add mysql
[[email protected] bin]# chkconfig mysql on
[[email protected] bin]# chkconfig --list mysql
mysql           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

8.登陆数据库

[[email protected] ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.15-log MySQL Community Server(GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates.All rights reserved.
Oracle is a registered trademark of OracleCorporation and/or its
affiliates. Other names may be trademarks of theirrespective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clearthe current input statement.

技术分享

到此,MySQL5.7的安装基本完成。在文章整理过程中,难免出现错误或者表达不当的地方,希望大家通过实际操作后指出不足,给予建议或者意见。

9.注意事项

5.7中存储密码的字段不再是password了,变成了authentication_string

update mysql.user

set authentication_string=password(‘root‘) where user=‘root‘;

谢谢大家的阅读,技术学习之路还很长,愿与你一起成长!

本文出自 “坚持不懈IT男” 博客,请务必保留此出处http://it3246.blog.51cto.com/7479386/1869268

以上是关于基于Centos6.5的MySQL5.7.15二进制源码安装的主要内容,如果未能解决你的问题,请参考以下文章

MySQL5.6.25升级MySQL5.7.15

ubuntu16.04安装mysql5.7.15

安装mysqlwindows安装压缩版mysql5.7.15

centos7.2 Mysql5.7.15版本 一主一从复制

centos7 Mysql5.7.15版本 一主一备架构(生产环境带数据,不锁库)

CentOS 7.2.1511编译安装Nginx1.10.1+MySQL5.7.15+PHP7.0.11