MySQL5.7.18 for Linux7.2 源码安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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 ,如需转载请自行联系原作者




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
关系型数据库 MySQL Linux
Linux下怎么快速部署MySQL服务,并使用
Linux下怎么快速部署MySQL服务,并使用
17 5
|
6天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
|
3天前
|
关系型数据库 MySQL Linux
Linux系统中Mysql5.7建立远程连接
Linux系统中Mysql5.7建立远程连接
5 0
|
3天前
|
关系型数据库 MySQL Linux
Linux centos 6.5 - Mysql 安装 、卸载、修改密码、忘记密码 并异常处理
Linux centos 6.5 - Mysql 安装 、卸载、修改密码、忘记密码 并异常处理
9 0
|
4天前
|
关系型数据库 MySQL Linux
linux安装mysql
linux安装mysql
|
1天前
|
存储 安全 Linux
Linux passwd命令:守护账户安全的密钥
`passwd`命令是Linux中管理用户密码的关键工具,确保数据安全。它用于更改密码,采用加密存储,并有锁定/解锁账号、设置密码策略等功能。参数如`-d`删除密码,`-l`锁定账号,`-u`解锁。最佳实践包括定期更改复杂密码,保护root密码,谨慎使用无密码选项。了解和正确使用passwd是保障系统安全的重要步骤。
|
1天前
|
安全 Linux 数据处理
深入探究Linux的pathchk命令
`pathchk`是Linux命令,用于检查文件名和路径的可移植性,遵循POSIX规范。它检测不可移植字符,确保文件在不同系统间的兼容性。选项如 `-p`, `-P` 和 `--portability` 提供不同级别的检查。基本用法是 `pathchk [选项] [文件名/路径名] [后缀]`。例如,`pathchk /etc/httpd/conf/httpd.conf` 检查路径的可移植性。使用时要注意目标系统的特性,谨慎处理警告,并结合其他命令如`find`使用。在操作前备份数据以防止损失。
|
1天前
|
Linux 数据处理 开发者
深入解析Linux中的paste命令:数据处理与分析的得力助手
`paste`命令在Linux中是数据处理的利器,它按列拼接多个文件内容,支持自定义分隔符和从标准输入读取。例如,合并`file1.txt`和`file2.txt`,使用`paste file1.txt file2.txt`,默认以制表符分隔;若要使用逗号分隔,可运行`paste -d ',' file1.txt file2.txt`。当文件行数不同时,较短文件后会填充空白行。结合管道符与其他命令使用,如`cat file1.txt | paste -s`,可按行合并内容。注意文件大小可能影响性能。
|
16小时前
|
Java Linux
Java执行Linux命令
Java执行Linux命令
7 2
|
1天前
|
存储 Linux 数据安全/隐私保护
linux解压zip文件命令
linux解压zip文件命令