`

linux 安装mysql多个实例

 
阅读更多
mysql5.7.28多实例

安装mysql,不要启动

创建文件夹
mkdir -p /opt/mysql/{3306,3307}/data/


添加配置文件
cp /etc/my.cnf /opt/mysql/3306/my.cnf
cp /etc/my.cnf /opt/mysql/3307/my.cnf


修改配置文件
vi /opt/mysql/3306/my.cnf
[client]
#必须配
port=3306
#必须配
socket=/opt/mysql/3306/mysql.sock
[mysqld]
#server-id必须配
server-id=3306
#port必须配
port=3306

#socket必须配
socket=/opt/mysql/3306/mysql.sock

#datadir必须配
datadir=/opt/mysql/3306/data
#pid-file必须配
pid-file=/opt/mysql/3306/mysql.pid
log-bin=/opt/mysql/3306/mysql-bin
relay-log=/opt/mysql/3306/relay-bin
relay-log-info-file=/opt/mysql/3306/relay-log.info
lower_case_table_names=1

log-output=FILE
general-log=0
general_log_file=/opt/mysql/3306/mysql.log
slow-query-log=1
slow_query_log_file=/opt/mysql/3306/mysql-slow.log
optimizer_switch=index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on
[mysqldump]
quick
max_allowed_packet=2M

[mysqld_safe]
#log-error 必须配
log-error=/opt/mysql/3306/mysql_3306.err


添加mysql_3306.err文件
touch /opt/mysql/3306/mysql_3306.err
touch /opt/mysql/3307/mysql_3307.err



赋权限
chown -R mysql.mysql /opt/mysql/3306
chown -R mysql.mysql /opt/mysql/3307
chmod 700 /opt/mysql/3306
chmod 700 /opt/mysql/3307


初始化Mysql数据库

mysqld --defaults-file=/opt/mysql/3306/my.cnf  --datadir=/opt/mysql/3306/data/ --user=mysql --initialize 
2020-03-12T08:25:13.104278Z 1 [Note] A temporary password is generated for root@localhost: To,n:/&U)4>k

mysqld --defaults-file=/opt/mysql/3307/my.cnf  --datadir=/opt/mysql/3307/data/ --user=mysql --initialize 
2020-03-12T08:27:37.854782Z 1 [Note] A temporary password is generated for root@localhost: k>ffuds5+-rS



#修改启动脚本
cp /etc/init.d/mysqld /etc/init.d/mysqld3306

vi /etc/init.d/mysqld3306

#第21行,添加
cnf="/opt/mysql/3306/my.cnf"

#第27行,添加"--defaults-file=/opt/mysql/3306/my.cnf"
# Set in /etc/sysconfig/mysqld, will be passed to mysqld_safe
MYSQLD_OPTS="--defaults-file=/opt/mysql/3306/my.cnf"

#第46行 添加 -c $cnf 将 /usr/bin/my_print_defaults "$@" | 改为  /usr/bin/my_print_defaults -c $cnf "$@" |
result=$(/usr/bin/my_print_defaults -c $cnf "$@" | sed -n "s/^--${option}=//p" | tail -n 1)


#复制一份
cp /etc/init.d/mysqld3306 /etc/init.d/mysqld3307

#将3307里的端口修改一下
sed -i "s/3306/3307/g" /etc/init.d/mysqld3307



修改防火墙
 vi /etc/sysconfig/iptables
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3307 -j ACCEPT

service iptables reload

修改为开机启动
  chkconfig --del mysqld
  chkconfig --add mysqld3306
  chkconfig --add mysqld3307
  
  chkconfig --list|grep mysql
  mysqld3306      0:off   1:off   2:off   3:on    4:on    5:on    6:off
	mysqld3307      0:off   1:off   2:off   3:on    4:on    5:on    6:off


启动测试
cd /etc/init.d/
service mysql3306 start
 mysql -S /opt/mysql/3306/mysql.sock -uroot -p
 输入密码To,n:/&U)4>k
 
service mysql3307 start
 mysql -S /opt/mysql/3307/mysql.sock -uroot -p
 输入密码k>ffuds5+-rS


修改密码

 修改当前登录用户密码
	 ALTER USER USER() IDENTIFIED BY 'root';
	 修改指定用户密码
	 ALTER USER root IDENTIFIED BY '123456';
 修改连接权限
 		select Host,User from user;
	 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
	 flush privileges;


分享到:
评论

相关推荐

    Linux 安装多个mysql

    3. **管理多个实例**: - **启动和停止服务**:你可以使用`systemctl start mysql2`和`systemctl stop mysql2`来控制新实例。 - **配置防火墙规则**:确保防火墙允许新的端口通信,如`sudo firewall-cmd --...

    mysql5.7多实例部署

    3. 如果是首次安装 MySQL,则会构建所需的所有预安装环境并创建第一个实例 4. 如果不是首次安装 MySQL,则会在原有基础上创建多实例 三、MySQL 5.7 多实例部署的脚本执行过程 1. 对传入的参数(端口号)做判断,...

    mysql8.0.11多实例安装

    ### MySQL 8.0.11 多实例安装详解 #### 一、概述 随着业务需求的增长和技术架构的复杂化,数据库系统面临着更多的挑战。为了提高数据库系统的可用性、扩展性和容错能力,多实例部署成为了许多企业的首选方案。本文...

    linux下mysql多实例安装部署及主从配置.docx

    在 Linux 系统中部署多个 MySQL 实例是非常常见的需求,尤其对于那些需要高可用性和负载均衡的环境。本文将详细介绍如何在 Ubuntu 14 版本的 Linux 系统上安装和配置三个 MySQL 实例(端口分别为 3306、3307 和 3308...

    linux运维学习笔记:MySQL多实例配置实战.pdf

    由于多个实例共享同一物理服务器资源,当某一个实例的负载过高时,例如并发访问量大或出现慢查询,它可能会占用大量系统资源(如CPU和磁盘I/O)。这会导致其他实例的服务质量受到影响,进而影响到整体服务的稳定性和...

    linux安装mysql详细新手图文教程+mysql5.1.30软件

    以下是一个详细的Linux MySQL安装教程,适用于新手,并以MySQL 5.1.30版本为例。 ### 一、系统准备 在开始安装前,确保你的Linux系统已经更新到最新版本,可以通过运行`sudo apt-get update`(Ubuntu/Debian)或`...

    linux下C++连接mysql实例

    在Linux环境下,使用C++与MySQL数据库进行交互是一...以上就是关于“Linux下C++连接MySQL实例”的主要知识点,这只是一个基础的示例,实际开发中可能涉及到更多复杂的功能,如事务处理、预编译语句、游标、批量插入等。

    Mysql_多实例安装配置方法一

    MySQL多实例安装配置是一种在一台服务器上运行多个独立MySQL服务的方法,这允许你为不同的应用程序或项目分配单独的数据库资源,提高系统管理和资源利用率。在本文中,我们将详细介绍在Ubuntu 11.1环境下,使用二...

    Linux服务器中安装多个MySQL5.6.26详解

    通过以上步骤,你可以在Linux服务器上成功安装并配置多个MySQL版本。记住,每个版本的MySQL应该有独立的配置文件、数据目录、用户和端口,以确保它们互不影响。在实际操作中,务必仔细检查每一步,确保所有配置正确...

    Linux Mysql 5.6.X 二进制安装与多实例安装最佳实践,新手入门必备

    通过以上步骤,您可以在Linux环境下成功地安装MySQL 5.6.X,并实现多个实例的配置。这种安装方式特别适合于生产环境中需要高可用性和负载均衡的场景。此外,通过这种方式安装MySQL还可以更好地管理不同应用的服务...

    centos编译安装mysql 5.6及安装多个mysql实例详解

    总之,编译安装MySQL 5.6在CentOS上是一项复杂但必要的任务,尤其是当需要配置多个实例时。遵循上述步骤,您可以成功地搭建和管理MySQL数据库服务。请确保在操作过程中仔细检查每一步,确保系统的安全性和稳定性。

    BLOG_MySQL_lhr_Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装.pdf

    这种方式允许用户将MySQL安装到任意目录,适合需要安装多个实例的场景。 **2. 安装步骤** - **下载二进制包**:从MySQL官网下载适用于当前Linux版本的二进制安装包。 - **解压文件**:使用`tar -zxvf mysql-...

    linux下启动多个不同版本的mysql服务.pdf

    在Linux操作系统中,由于开发和测试的需求,有时我们需要同时运行多个不同版本的MySQL服务。这可能是因为你需要在不同项目间切换,每个项目依赖特定的MySQL版本,或者进行兼容性测试。本文将详细介绍如何在Linux环境...

    1-mysql多实例安装.docx

    总结来说,MySQL多实例安装涉及用户管理、目录权限、配置文件定制以及服务启动等多个环节,需要对Linux系统和MySQL有深入的理解。通过这个实验,可以学习到如何有效地管理和利用服务器资源,为不同的应用提供独立且...

Global site tag (gtag.js) - Google Analytics