1、建用户、下载、解压
groupadd mysql useradd -r -g mysql mysql wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz tar xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ ln -sv /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
2、输出环境变量、帮助
/etc/profile export PATH=$PATH:/usr/local/mysql/bin source /etc/profile vim /etc/man.config MANPATH /usr/local/mysql/man
3、创建数据目录、授权、初始化mysql mysql5.7.7及以上做了很多改变,5.7.7以前安装方法和以前差不多,初始化也保留了mysql_install_db,5.7.7以后则去掉了该脚本,使用了-initialize 或者 --initialize-insecure 参数作为初始化。
mysql5.7.14版本初始化时候已经抛弃了defaults-file参数文件,所以在初始化时候指定配置文件会出错,同时必须保证datadir为空。
mkdir /data/mysql chown mysql.mysql /data/mysql [root@leo mysql]# mysqld --verbose --help |more 查看更多初始化参数 [root@leo mysql]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql 2016-12-21T09:37:13.532770Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-12-21T09:37:16.364569Z 0 [Warning] InnoDB: New log files created, LSN=45790 2016-12-21T09:37:16.881727Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2016-12-21T09:37:17.115686Z 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: 0fbca93f-c761-11e6-9409-000c299a8601. 2016-12-21T09:37:17.220886Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2016-12-21T09:37:17.284087Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
初始化成功了。这里说明下,初始化参数我使用了--initialize-insecure,这样不会设置初始化root密码,如果是 --initialize的话,会随机生成一个密码:
4、设置加密连接
[root@leo mysql]# /usr/local/mysql/bin/mysql_ssl_rsa_setup Generating a 2048 bit RSA private key ..........................................................+++ .......+++ writing new private key to 'ca-key.pem' ----- Generating a 2048 bit RSA private key ...........+++ ...........................................+++ writing new private key to 'server-key.pem' ----- Generating a 2048 bit RSA private key ............................................+++ .............................................................+++ writing new private key to 'client-key.pem' -----
5、复制配置文件和启动脚本
[root@leo mysql]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf [root@leo mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
6、配置如下
[root@leo mysql]# cat /etc/my.cnf # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld] # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. basedir=/usr/local/mysql datadir=/data/mysql port=3306 server_id=1 socket=/data/mysql/mysql.sock symbolic-links=0 character_set_server=utf8 # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [client] socket=/data/mysql/mysql.sock
7、启动、并查看日志
[root@leo ~]# /etc/init.d/mysqld start Starting MySQL.Logging to '/data/mysql/leo.err'. . [确定] [root@leo ~]# /etc/init.d/mysqld restart Shutting down MySQL.. [确定] Starting MySQL.. [确定] [root@leo ~]# tail -f /data/mysql/leo.err 2016-12-21T09:42:48.493804Z 0 [Note] - '::' resolves to '::'; 2016-12-21T09:42:48.493834Z 0 [Note] Server socket created on IP: '::'. 2016-12-21T09:42:48.493990Z 0 [Note] InnoDB: Loading buffer pool(s) from /data/mysql/ib_buffer_pool 2016-12-21T09:42:48.496446Z 0 [Note] InnoDB: Buffer pool(s) load completed at 161221 17:42:48 2016-12-21T09:42:48.512719Z 0 [Note] Event Scheduler: Loaded 0 events 2016-12-21T09:42:48.512907Z 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check. 2016-12-21T09:42:48.512922Z 0 [Note] Beginning of list of non-natively partitioned tables 2016-12-21T09:42:48.529189Z 0 [Note] End of list of non-natively partitioned tables 2016-12-21T09:42:48.529703Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections. Version: '5.7.17' socket: '/data/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL)
8、登录测试
[root@leo mysql]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.17 MySQL Community Server (GPL) Copyright (c) 2000, 2016, 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> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec) mysql> [root@leo mysql]# ps -ef |grep mysql root 49305 1 0 17:54 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/leo.pid mysql 49501 49305 0 17:54 pts/0 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/leo.err --pid-file=/data/mysql/leo.pid --socket=/data/mysql/mysql.sock --port=3306 root 49598 46306 0 18:14 pts/0 00:00:00 grep mysql
多实例配置部分
1、复制多实例启动脚本
[root@leo ~]# cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi
2、初始化数据库目录并修改多实例配置文件
mkdir /data/mysql2 mkdir /data/mysql3 chown mysql.mysql /data/mysql2 chown mysql.mysql /data/mysql3 [root@leo ~]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql2 2016-12-21T16:36:00.886650Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-12-21T16:36:06.481686Z 0 [Warning] InnoDB: New log files created, LSN=45790 2016-12-21T16:36:07.145444Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2016-12-21T16:36:07.443823Z 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: 92945fc8-c79b-11e6-88a5-000c299a8601. 2016-12-21T16:36:07.453113Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2016-12-21T16:36:07.456819Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. [root@leo ~]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql3 2016-12-21T16:36:16.094948Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-12-21T16:36:21.224144Z 0 [Warning] InnoDB: New log files created, LSN=45790 2016-12-21T16:36:21.900500Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2016-12-21T16:36:22.095535Z 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: 9b500f71-c79b-11e6-8af0-000c299a8601. 2016-12-21T16:36:22.105950Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2016-12-21T16:36:22.112685Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. [root@leo ~]# cat /etc/my.cnf # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld_multi] mysqld=/usr/local/mysql/bin/mysqld_safe mysqladmin=/usr/local/mysql/bin/mysqladmin log=/data/mysql_multi.log user = root password = redhat # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. [mysqld1] basedir=/usr/local/mysql datadir=/data/mysql port=3306 server_id=1 socket=/data/mysql/mysql.sock symbolic-links=0 character_set_server=utf8 pid-file=/data/mysql/mysql.pid [mysqld2] datadir=/data/mysql2 port=3307 socket=/data/mysql2/mysql.sock symbolic-links=0 character_set_server=utf8 pid-file=/data/mysql2/mysql2.pid [mysqld3] datadir=/data/mysql3 port=3308 socket=/data/mysql3/mysql.sock symbolic-links=0 character_set_server=utf8 pid-file=/data/mysql3/mysql3.pid # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #[client] #socket=/data/mysql/mysql.sock
3、启动多实例测试并查看日志
[root@leo ~]# /etc/init.d/mysqld_multi start [root@leo ~]# /etc/init.d/mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld1 is running MySQL server from group: mysqld2 is running MySQL server from group: mysqld3 is running [root@leo ~]# netstat -antlp |grep :330* tcp 0 0 :::3307 :::* LISTEN 55762/mysqld tcp 0 0 :::3308 :::* LISTEN 55765/mysqld tcp 0 0 :::3306 :::* LISTEN 55764/mysqld
4、连接测试
[root@leo ~]# mysql -uroot -h127.0.0.1 -P3308 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.17 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> grant shutdown on *.* to 'root'@'%' identified by 'redhat'; #授权
Query OK, 0 rows affected, 1 warning (0.08 sec)
mysql>flush provileges;
update mysql.user set authentication_string=password('redhat') where user='root' and Host = 'localhost';#设置mysql登录密码
[root@leo ~]# mysqladmin -uroot -p -S /data/mysql3/mysql.sock shutdown #关闭实例
Enter password:
5、附带脚本多实例管理脚本
stop关闭MySQL实例,注意此处是需要一个具有shutdown权限的用户,且密码并被是加密的,也不可以交互式输入密码,Linux又具有history功能,所以为了数据库的安全,还是不要用mysqld_multi stop的方式关闭数据库了吧
[root@leo ~]# cat /etc/init.d/mysqld_multi
#!/bin/sh
#
# A simple startup script for mysqld_multi by Tim Smith and Jani Tolonen.
# This script assumes that my.cnf file exists either in /etc/my.cnf or
# /root/.my.cnf and has groups [mysqld_multi] and [mysqldN]. See the
# mysqld_multi documentation for detailed instructions.
#
# This script can be used as /etc/init.d/mysql.server
#
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 64 36
# description: A very fast and reliable SQL database engine.
#
# Version 1.0
#
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
conf=/etc/my.cnf
if test -x $bindir/mysqld_multi
then
mysqld_multi="$bindir/mysqld_multi";
else
echo "Can't execute $bindir/mysqld_multi from dir $basedir";
exit;
fi
case "$1" in
'start' )
"$mysqld_multi" --defaults-extra-file=$conf start $2
;;
'stop' )
"$mysqld_multi" --defaults-extra-file=$conf stop $2 --user=root --password=redhat
;;
'report' )
"$mysqld_multi" --defaults-extra-file=$conf report $2
;;
'restart' )
"$mysqld_multi" --defaults-extra-file=$conf stop $2 --user=root --password=redhat
"$mysqld_multi" --defaults-extra-file=$conf start $2
;;
*)
echo "Usage: $0 {start|stop|report|restart}" >&2
;;
esac
6、多实例测试启停
[root@leo ~]# /etc/init.d/mysqld_multi stop [root@leo ~]# /etc/init.d/mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld1 is not running MySQL server from group: mysqld2 is not running MySQL server from group: mysqld3 is not running [root@leo ~]# /etc/init.d/mysqld_multi start [root@leo ~]# /etc/init.d/mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld1 is running MySQL server from group: mysqld2 is running MySQL server from group: mysqld3 is running [root@leo ~]# netstat -antlp |grep :330* #查看监听端口 tcp 0 0 :::3307 :::* LISTEN 74667/mysqld tcp 0 0 :::3308 :::* LISTEN 74666/mysqld tcp 0 0 :::3306 :::* LISTEN 74665/mysqld [root@leo ~]# mysql -uroot -predhat -P3307 -h127.0.0.1 #登录3307 测试 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.17 MySQL Community Server (GPL) Copyright (c) 2000, 2016, 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> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | t1 | +--------------------+ 5 rows in set (0.13 sec) mysql> [root@leo ~]# tail -f /data/mysql3/leo.err #查看日志 2016-12-21T21:47:56.114139Z 0 [Note] Server hostname (bind-address): '*'; port: 3308 2016-12-21T21:47:56.145404Z 0 [Note] IPv6 is available. 2016-12-21T21:47:56.169487Z 0 [Note] - '::' resolves to '::'; 2016-12-21T21:47:56.171033Z 0 [Note] Server socket created on IP: '::'. 2016-12-21T21:47:57.157171Z 0 [Note] Event Scheduler: Loaded 0 events 2016-12-21T21:47:57.157710Z 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check. 2016-12-21T21:47:57.157729Z 0 [Note] Beginning of list of non-natively partitioned tables 2016-12-21T21:47:58.138317Z 0 [Note] End of list of non-natively partitioned tables 2016-12-21T21:47:58.138474Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections. Version: '5.7.17' socket: '/data/mysql3/mysql.sock' port: 3308 MySQL Community Server (GPL)
mysqld_multi启动会查找my.cnf文件中的[mysqldN]组,N为mysqld_multi后携带的整数值。 mysqld_multi的固定选项可在配置文件my.cnf中进行配置,在[mysqld_multi]组下配置(如果没有该组,可自行建立)。 mysqld_multi使用方式如下: mysqld_multi [options] {start|stop|reload|report} [GNR[,GNR] ...]
以上所述是小编给大家介绍的CentOS6.5 上部署 MySQL5.7.17 二进制安装以及多实例配置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# centos部署mysql
# mysql5.7多实例部署
# Linux下MySQL5.7.18二进制包安装教程(无默认配置文件my_default.cnf)
# Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解
# Centos 7 安装mysql5.7.24二进制 版本的方法及解决办法
# Centos7.5安装mysql5.7.24二进制包方式部署
# CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic
# linux二进制通用包安装mysql5.6.20教程
# ubuntu系统中安装mysql5.6(通过二进制)
# mysql 5.7.19 二进制最新安装
# Linux下mysql5.6.24(二进制)自动安装脚本
# Mysql二进制安装与备份的全过程记录
# 配置文件
# 小编
# 使用了
# 也不
# 在此
# 可在
# 给大家
# 如果没有
# 掉了
# 查看更多
# 留了
# 所述
# 不要用
# 给我留言
# 上做
# 感谢大家
# 为空
# 输入密码
# 疑问请
# 有任何
相关文章:
如何快速搭建高效WAP手机网站?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
如何自定义建站之星网站的导航菜单样式?
高端云建站费用究竟需要多少预算?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何基于PHP生成高效IDC网络公司建站源码?
如何设计高效校园网站?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
西安大型网站制作公司,西安招聘网站最好的是哪个?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
北京企业网站设计制作公司,北京铁路集团官方网站?
怀化网站制作公司,怀化新生儿上户网上办理流程?
建站之星如何一键生成手机站?
模具网站制作流程,如何找模具客户?
制作门户网站的参考文献在哪,小说网站怎么建立?
红河网站制作公司,红河事业单位身份证如何上传?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
如何在万网自助建站平台快速创建网站?
制作企业网站建设方案,怎样建设一个公司网站?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何在阿里云高效完成企业建站全流程?
如何实现建站之星域名转发设置?
想学网站制作怎么学,建立一个网站要花费多少?
建站之星后台密码如何安全设置与找回?
成都网站制作报价公司,成都工业用气开户费用?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何在新浪SAE免费搭建个人博客?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
实现点击下箭头变上箭头来回切换的两种方法【推荐】
深圳网站制作平台,深圳市做网站好的公司有哪些?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何快速搭建个人网站并优化SEO?
建站之星安装后如何配置SEO及设计样式?
网站制作软件有哪些,制图软件有哪些?
安徽网站建设与外贸建站服务专业定制方案
建站之星3.0如何解决常见操作问题?
大型企业网站制作流程,做网站需要注册公司吗?
深入理解Android中的xmlns:tools属性
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
c++怎么用jemalloc c++替换默认内存分配器【性能】
微信小程序 五星评分(包括半颗星评分)实例代码
广州营销型建站服务商推荐:技术优势与SEO优化解析
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
如何通过cPanel快速搭建网站?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
表情包在线制作网站免费,表情包怎么弄?
*请认真填写需求信息,我们会在24小时内与您取得联系。