博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yum && 编译 安装mysql 5.7 多实例
阅读量:2228 次
发布时间:2019-05-09

本文共 11475 字,大约阅读时间需要 38 分钟。

yum安装

[root@localhost ~]# wget http://repo.mysql.com/mysql57-community-release-el7.rpm[root@localhost ~]# rpm -ivh mysql57-community-release-el7.rpm[root@localhost ~]# yum install mysql mysql-server

用科技大学的mysql源下载会更快些

[root@localhost ~]# rpm -ivh http://mirrors.ustc.edu.cn/mysql-repo/mysql57-community-release-el7.rpm

  

  

初始化

[root@localhost ~]# grep "password" /var/log/mysqld.log 2017-04-12T00:45:32.972626Z 1 [Note] A temporary password is generated for root@localhost: kvyqpEMl<9b0  #随机密码[root@localhost ~]# mysqladmin -u root -p password   #重置密码Enter password: New password: Confirm new password: [root@localhost ~]# systemctl start mysqld[root@localhost ~]# systemctl enable mysqld

  

编译安装

环境准备

[root@localhost ~]yum install -y gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel cmake bison*[root@localhost ~]# mkdir /data/[root@localhost ~]# mkdir /data/mysql/[root@localhost ~]# mkdir /data/mysql/data/[root@localhost ~]# groupadd mysql[root@localhost ~]# useradd -g mysql -s /sbin/nologin mysql[root@localhost ~]# cd /usr/local/src/[root@localhost ~]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz[root@localhost src]# tar zvxf mysql-boost-5.7.18.tar.gz [root@localhost src]# cd mysql-5.7.18

  

 编译安装

cmake . \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/data/mysql/data \-DSYSCONFDIR=/etc \-DWITH_BOOST=boost \-DEFAULT_CHARSET=utf8\-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=all \-DMYSQL_UNIX_ADDR=/data/mysql/data/mysqld.sock \-DENABLED_LOCAL_INFILE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_TCP_PORT=3306
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql              #安装路径# -DMYSQL_DATADIR=/data/mysql/data                     #数据文件存放位置# -DSYSCONFDIR=/etc                                    #my.cnf路径# -DWITH_BOOST=boost                                   #指定boost库 # -DDEFAULT_CHARSET=utf8                               #默认字符# -DDEFAULT_COLLATION=utf8_general_ci                  #默认排序规则# -DEXTRA_CHARSETS=all                                 #安装所有的字符集# -DMYSQL_UNIX_ADDR=/data/mysql/data/mysqld.sock       #连接数据库socket路径# -DENABLED_LOCAL_INFILE=1                             #允许从本地导入数据# -DWITH_MYISAM_STORAGE_ENGINE=1                       #支持MyIASM引擎# -DWITH_INNOBASE_STORAGE_ENGINE=1                     #支持InnoDB引擎# -DWITH_MEMORY_STORAGE_ENGINE=1                       #支持Memory引擎# -DWITH_PARTITION_STORAGE_ENGINE=1                    #安装支持数据库分区# -DWITH_READLINE=1                                    #快捷键功能# -DMYSQL_TCP_PORT=3306                                #端口[root@localhost mysql-5.7.18]# make -j `grep processor /proc/cpuinfo | wc -l`  && make install# grep processor /proc/cpuinfo 根据cpu核心数指定编译时的线程数(多核cpu会快很多)

初始化配置

[root@localhost ~]# chown -R mysql:mysql /data/mysql/data/[root@localhost mysql-5.7.18]# /usr/local/mysql/bin/mysqld --initialize --user=mysql2017-04-16T09:35:15.850060Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2017-04-16T09:35:16.331637Z 0 [Warning] InnoDB: New log files created, LSN=457902017-04-16T09:35:16.408336Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2017-04-16T09:35:16.467944Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: ffbe4813-2287-11e7-9d8c-000c298c8776.2017-04-16T09:35:16.469737Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.2017-04-16T09:35:16.470947Z 1 [Note] A temporary password is generated for root@localhost: sRXga&j#w5n[root@localhost mysql-5.7.18]# /usr/local/mysql/bin/mysql_ssl_rsa_setup  --user=mysql

  

配置文件 

[root@localhost ~]# cp /etc/my.cnf /etc/my.cnf.bak [root@localhost ~]# rm -rf /etc/my.cnf[root@localhost ~]# vim /etc/my.cnf[client]port = 3306socket = /data/mysql/data/mysql.sockdefault-character-set = utf8 [mysqld]port = 3306socket = /data/mysql/data/mysql.sock basedir = /usr/local/mysqldatadir = /data/mysql/datapid-file = /data/mysql/data/mysql.piduser = mysqlbind-address = 0.0.0.0server-id = 1 init-connect = 'SET NAMES utf8'character-set-server = utf8 #skip-name-resolve#skip-networkingback_log = 300 max_connections = 1000max_connect_errors = 6000open_files_limit = 65535table_open_cache = 128max_allowed_packet = 4Mbinlog_cache_size = 1Mmax_heap_table_size = 8Mtmp_table_size = 16M read_buffer_size = 2Mread_rnd_buffer_size = 8Msort_buffer_size = 8Mjoin_buffer_size = 8Mkey_buffer_size = 4M thread_cache_size = 8 query_cache_type = 1query_cache_size = 8Mquery_cache_limit = 2M ft_min_word_len = 4 log_bin = mysql-binbinlog_format = mixedexpire_logs_days = 30 log_error = /data/mysql/data/mysql-error.logslow_query_log = 1long_query_time = 1slow_query_log_file = /data/mysql/data/mysql-slow.log performance_schema = 0explicit_defaults_for_timestamp #lower_case_table_names = 1 skip-external-locking default_storage_engine = InnoDB#default-storage-engine = MyISAMinnodb_file_per_table = 1innodb_open_files = 500innodb_buffer_pool_size = 64Minnodb_write_io_threads = 4innodb_read_io_threads = 4innodb_thread_concurrency = 0innodb_purge_threads = 1innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 32Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120 bulk_insert_buffer_size = 8Mmyisam_sort_buffer_size = 8Mmyisam_max_sort_file_size = 10Gmyisam_repair_threads = 1 interactive_timeout = 28800wait_timeout = 28800 [mysqldump]quickmax_allowed_packet = 16M [myisamchk]key_buffer_size = 8Msort_buffer_size = 8Mread_buffer = 4Mwrite_buffer = 4MEOF

  

系统服务

[root@localhost ~]# cp /usr/local/src/mysql-5.7.18/support-files/mysql.server /etc/init.d/mysqld[root@localhost ~]# chmod +x /etc/init.d/mysqld [root@localhost ~]# chkconfig --add mysqld[root@localhost ~]# chkconfig mysqld on[root@localhost ~]# service mysqld start方法二[root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service[Unit]Description=MysqlAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/data/mysql/data/mysql.pidExecStart=/usr/local/mysql/support-files/mysql.server startExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=false[Install][root@localhost ~]# systemctl daemon-reload [root@localhost ~]# systemctl enable mysqld.service [root@localhost ~]# mysqladmin -u root -p password   #重置密码Enter password: New password: Confirm new password

  

环境变量

[root@localhost ~]# vim /etc/profilePATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATHexport PATH[root@localhost ~]# source /etc/profile

  

msyql多实例(完全独立)

##准备数据目录[root@localhost local]# mkdir /data/mysql/{3306,3307}[root@localhost local]# chown mysql:mysql /data/mysql/[root@localhost local]# chown mysql:mysql /data/mysql/[root@localhost local]# mv /usr/local/mysql /tmp[root@localhost local]# cd /usr/local/src/mysql-5.7.18/[root@localhost mysql-5.7.18]# make install##初始化数据库[root@localhost mysql-5.7.18]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3306[root@localhost mysql-5.7.18]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3307##配置数据库目录[root@localhost mysql-5.7.18]# mv /usr/local/mysql /usr/local/mysql3306[root@localhost mysql-5.7.18]# make install[root@localhost mysql-5.7.18]# mv /usr/local/mysql /usr/local/mysql3307[root@localhost mysql-5.7.18]# cd /usr/local/[root@localhost local]# cp /etc/my.cnf /usr/local/mysql3306[root@localhost local]# cp /etc/my.cnf /usr/local/mysql3307[root@localhost local]# mv /etc/my.cnf /etc/my.cnf.bak##修改my.cnf文件中的路径[root@localhost local]# vim mysql3306/my.cnf[client]  port = 3306socket = /data/mysql/3306/mysql.sockdefault-character-set = utf8[mysqld]port = 3306socket = /data/mysql/3306/mysql.sockbasedir = /usr/local/mysql3306datadir = /data/mysql/3306pid-file = /data/mysql/3306/mysql.piduser = mysqlbind-address = 0.0.0.0server-id = 1[root@localhost local]# vim mysql3307/my.cnf[client]port = 3307socket = /data/mysql/3307/mysql.sockdefault-character-set = utf8[mysqld]port = 3307socket = /data/mysql/3307/mysql.sockbasedir = /usr/local/mysql3307datadir = /data/mysql/3307pid-file = /data/mysql/3307/mysql.piduser = mysqlbind-address = 0.0.0.0server-id = 2##配置mysql 启动脚本[root@localhost local]# vim mysql3306/support-files/mysql.server then  basedir=/usr/local/mysql3306  bindir=/usr/local/mysql3306/bin  if test -z "$datadir"  then    datadir=/data/mysql/3306  fi  sbindir=/usr/local/mysql3306/bin  libexecdir=/usr/local/mysql3306/bin[root@localhost local]# vim mysql3307/support-files/mysql.server then  basedir=/usr/local/mysql3307  bindir=/usr/local/mysql3307/bin  if test -z "$datadir"  then    datadir=/data/3307/data  fi  sbindir=/usr/local/mysql3307/bin  libexecdir=/usr/local/mysql3307/bin## 启动服务[root@localhost local]# /usr/local/mysql3306/support-files/mysql.server start[root@localhost local]# /usr/local/mysql3307/support-files/mysql.server start[root@localhost local]# netstat -anptActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      40724/mysqld        tcp        0      0 0.0.0.0:3307            0.0.0.0:*               LISTEN      47249/mysqld

  

mysqld_multi管理多实例

##环境准备[root@localhost local]# mkdir /data/mysql/{3306,3307}[root@localhost local]# chown mysql:mysql /data/mysql/[root@localhost local]# cd /usr/local/src/mysql-5.7.18/[root@localhost mysql-5.7.18]# make install## 修改my.cnf[root@localhost mysql-5.7.18]# vim /etc/my.cnf[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminlog = /data/mysql/mysqld_multi.log[mysqld1]port = 3306socket = /data/mysql/3306/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysql/3306pid-file = /data/mysql/3306/mysql.piduser = mysqllog_error = /data/mysql/3306/mysql-error.logslow_query_log = 1long_query_time = 1slow_query_log_file = /data/mysql/3306/mysql-slow.loggeneral_log=ONgeneral_log_file= /data/mysql/3306/mysql.logperformance_schema = 0explicit_defaults_for_timestamp[mysqld2]port = 3307socket = /data/mysql/3307/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysql/3307pid-file = /data/mysql/3307/mysql.piduser = mysqllog_error = /data/mysql/3307/mysql-error.logslow_query_log = 1long_query_time = 1slow_query_log_file = /data/mysql/3307/mysql-slow.loggeneral_log=ONgeneral_log_file= /data/mysql/3307/mysql.logperformance_schema = 0explicit_defaults_for_timestamp## 初始化数据库# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3306# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3307## 服务管理# /usr/local/mysql/bin/mysqld_multi report      #查看所有实例状态# /usr/local/mysql/bin/mysqld_multi start       #启动所有实例# /usr/local/mysql/bin/mysqld_multi start 1     #启动实例1# mysqladmin -uroot -prVrzzT9s -S /data/mysql/3306/mysql.sock shutdown  #关闭某个实例## 设置密码[root@localhost ~]# mysqladmin -u root -p password -P 3306 -S /data/mysql/3306/mysql.sock[root@localhost ~]# mysqladmin -u root -p password -P 3307 -S /data/mysql/3307/mysql.sock

  

转载于:https://www.cnblogs.com/37yan/p/6879363.html

你可能感兴趣的文章
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
剑指offer 25.二叉树中和为某一值的路径
查看>>
剑指offer 60. 不用加减乘除做加法
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
Leetcode C++《热题 Hot 100-47》236.二叉树的最近公共祖先
查看>>
Leetcode C++《热题 Hot 100-48》406.根据身高重建队列
查看>>
《kubernetes权威指南·第四版》第二章:kubernetes安装配置指南
查看>>
Leetcode C++《热题 Hot 100-49》399.除法求值
查看>>
Leetcode C++《热题 Hot 100-51》152. 乘积最大子序列
查看>>
Leetcode C++ 《第181场周赛-1》 5364. 按既定顺序创建目标数组
查看>>