MySQL5.7.18 for Linux7.2 源码安装

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

源码安装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操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
10月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
501 41
|
10月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
628 17
|
10月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
298 18
|
10月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
574 11
|
10月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
300 10
|
6月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
456 158
|
6月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
6月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1098 152
|
6月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
851 156
|
6月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
460 156