MySQL5.7.18 for Linux7.2 源码安装

  1. 云栖社区>
  2. 博客>
  3. 正文

MySQL5.7.18 for Linux7.2 源码安装

技术小甜 2017-11-16 12:09:00 浏览695
展开阅读全文

源码安装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 ,如需转载请自行联系原作者




网友评论

登录后评论
0/500
评论
技术小甜
+ 关注