MySQL5.7.18 for Linux7.2 源码安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

源码安装MySQL比较麻烦,需要安装依赖包,然后进行编译,时间较长,建议安装二进制的MySQL,时间比较快;


用到的软件包:

mysql-5.7.18.tar.gz 

boost_1_59_0.tar.gz


1、安装依赖包

yum -y install gcc* gcc-c++ ncurses* ncurses-devel* cmake* bison* libgcrypt* perl*


2、创建MySQL用户:

[root@localhost ~]# mkdir -p /mysql/data

[root@localhost ~]# mkdir -p /mysql/mysql5718

[root@localhost ~]# chown -R mysql.mysql /mysql/


3、调整系统参数

[root@localhost ~]# vim /etc/security/limits.conf 

     *    soft    nproc     65535

     *    hard    nproc     65535

     *    soft    nofile    65535

     *    hard    nofile    65535


[root@localhost ~]# vi /etc/security/limits.d/20-nproc.conf

     *    soft    nproc     65535


[root@localhost ~]#  vi /etc/profile

     ulimit -u 65535

     ulimit -n 65535


4、下载并解压软件

[root@localhost ~]# tar zxvf mysql-5.7.18.tar.gz -C /usr/src/

[root@localhost ~]# tar zxvf boost_1_59_0.tar.gz -C /mysql/

[root@localhost ~]# chown -R mysql.mysql /mysql/

[root@localhost ~]# chmod -R 755  /mysql/

[root@localhost ~]# chown -R mysql.mysql /usr/src/mysql-5.7.18/


5、开始编译安装MySQL5.7.18

[root@localhost ~]# su - mysql


[mysql@localhost ~]$ cd /usr/src/mysql-5.7.18/

[mysql@localhost mysql-5.7.18]$cmake . -DCMAKE_INSTALL_PREFIX=/mysql/mysql5718 \

-DMYSQL_DATADIR=/mysql/data \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/mysql/boost_1_59_0 


[mysql@localhost mysql-5.7.18]$ make -j 4    (并行4个进程同时进行编译)

[mysql@localhost mysql-5.7.18]$ make  install


6、初始化数据库:

[mysql@localhost ~]$ /mysql/mysql5718/bin/mysqld --initialize --user=mysql --basedir=/mysql/mysql5718/ --datadir=/mysql/data/


---注意,在初始化数据库会生成数据库的默认密码,这个密码要记住,一会登录数据库要用


7、编辑my.cnf配置文件,启动数据库

[mysql@localhost ~]$ vim my.cnf    (该配置文件仅供参考)

[client]

socket                    = /mysql/data/mysql.sock

default_character_set     = utf8


[mysql]

socket=/mysql/data/mysql.sock

 

[mysqld]                                                      

                                                    

server_id                 = 1607                               

port                      = 3306                               

basedir                   = /mysql/mysql5718/                   

datadir                   = /mysql/data/               

socket                    = /mysql/data/mysql.sock     

pid_file                  = /mysql/data/mysql.pid      

log_error                 = /mysql/data/mysql_error.log

log_bin                   = /mysql/data/mysql_bin      

relay_log                 = /mysql/data/relay_bin      

character_set_server      = utf8                               

collation_server          = utf8_general_ci                    

              

                                              

innodb_buffer_pool_size   = 8G                            

innodb_buffer_pool_instances = 8                          

innodb_log_file_size      = 1G                            

innodb_log_files_in_group = 3                             

innodb_log_buffer_size    = 24M                          

innodb_flush_log_at_trx_commit = 1                        

innodb_file_per_table     = 1                             

innodb_flush_method       = O_DIRECT                      

innodb_io_capacity        = 200                           

innodb_io_capacity_max    = 600                           

innodb_thread_concurrency = 0                             

innodb_autoinc_lock_mode  = 2                             

innodb_lock_wait_timeout  = 60                            

innodb_read_io_threads    = 4                 

innodb_write_io_threads   = 4                                  

innodb_max_dirty_pages_pct = 80                                

innodb_autoextend_increment = 512                              

innodb_checksum_algorithm = NONE                               

innodb_doublewrite        = 0                                  

innodb_use_native_aio     = 1                                  

innodb_open_files         = 8192                               

               

                             

sync_binlog               = 1                                  

sync_relay_log            = 1                                  

relay_log_info_repository = TABLE                              

master_info_repository    = TABLE                              

expire_logs_days          = 10                                 

binlog_format             = ROW                                

transaction-isolation     = READ-COMMITTED                     

concurrent_insert         = 2                                  

skip_slave_start          = TRUE                             

               

                                               

back_log                  = 2000                               

thread_stack              = 256k                               

thread_cache_size         = 256                                

key_buffer_size           = 256M                               

tmp_table_size            = 64M                                

read_buffer_size          = 2M                                 

read_rnd_buffer_size      = 8M                                 

sort_buffer_size          = 2M                                 

join_buffer_size          = 2M                                 

query_cache_size          = 0                                  

query_cache_type          = 0                                  

max_heap_table_size       = 64M                                

binlog_cache_size         = 2M                                 

table_open_cache          = 8192                               

max_allowed_packet        = 64M                                

bulk_insert_buffer_size   = 64M                                

                                        

                                           

max_connect_errors        = 100000                             

max_connections           = 500                                

connect_timeout           = 300                                

wait_timeout              = 86400                              

interactive_timeout       = 86400                              

lower_case_table_names    = 1                                  

open_files_limit          = 20480                              

skip_name_resolve                                              

skip_external_locking                                          

explicit_defaults_for_timestamp = TRUE                         

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 


 [mysql@localhost ~]$  /mysql/mysql5718/bin/mysqld_safe --defaults-file=/mysql/data/my.cnf  --user=mysql &


8、进入数据库检查:

 [mysql@localhost ~]$  /mysql/mysql5718/bin/mysql -u root -p --socket=/mysql/data/mysql.sock

 Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.7.18-log MySQL Community Server (GPL)


Copyright (c) 2000, 2017, 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> set password='123456';  (因为刚才使用的密码是个默认的登录密码,所以我们要修改)

mysql>  flush privileges;


然后重新登录数据库,进行检查:

[mysql@localhost ~]$  /mysql/mysql5718/bin/mysql -u root -p --socket=/mysql/data/mysql.sock

 Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> \s

--------------

/mysql/mysql5718/bin/mysql  Ver 14.14 Distrib 5.7.18, for linux-glibc2.5 (x86_64) using  EditLine wrapper


Connection id:          7

Current database:

Current user:           root@localhost

SSL:                    Not in use

Current pager:          stdout

Using outfile:          ''

Using delimiter:        ;

Server version:         5.7.18-log MySQL Community Server (GPL)

Protocol version:       10

Connection:             Localhost via UNIX socket

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    utf8

Conn.  characterset:    utf8

UNIX socket:            /mysql/data/mysql.sock

Uptime:                 25 min 16 sec


Threads: 1  Questions: 19  Slow queries: 0  Opens: 110  Flush tables: 1  Open tables: 103  Queries per second avg: 0.012

--------------


mysql> 














本文转自一个笨小孩51CTO博客,原文链接:http://blog.51cto.com/fengfeng688/1920475 ,如需转载请自行联系原作者




相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
177 8
|
4月前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
279 7
|
4月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
5月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
344 3
|
5月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
194 3
|
11月前
|
存储 关系型数据库 MySQL
LINUX中的mysql(一)安装
MySQL是一种常用的开源关系型数据库管理系统,广泛应用于Linux系统中。它提供了一个灵活、高效和可扩展的数据库解决方案,被许多应用程序和网站用于存储和管理数据。
213 0
|
关系型数据库 MySQL Linux
【Linux】jdk & Tomcat & MySql的安装及Linux后端接口部署
【Linux】jdk & Tomcat & MySql的安装及Linux后端接口部署
195 0
|
6月前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
765 1
|
8月前
|
关系型数据库 MySQL Linux
Linux环境安装MySQL8.0.36使用rpm包安装,安装顺序是什么?
【8月更文挑战第23天】Linux环境安装MySQL8.0.36使用rpm包安装,安装顺序是什么?
551 1
|
9月前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思