`

mysql多实例安装的详解

阅读更多
首先说明一个场景:我的电脑是ubuntu系统,之前apt-get自动安装过mysql。这也是出现错误最多的原因之一。
安装过程,其中充斥着各种错误:
6.mkdir mysql
7.groupadd mysql
8.useradd -r -g mysql mysql
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
9.cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all
-DENABLED_LOCAL_INFILE=1
make
make install


这个表示我们的mysql源码安装已经完成了,现在要做就是初始化用户了,也就是多实例中最重要的一部了,以后的每一步都要注意命令执行后的结果:
cd /usr/local/mysql
chown -R root:mysql .
chown -R mysql:mysql data
11.cp support-files/my-medium.cnf /etc/my.cnf
12.cd /usr/local/mysql


scripts/mysql_install_db --defaults-file=/usr/local/mysql/data_3308/my.cnf --datadir=/usr/local/mysql/data_3308/


上面的mysql_install_db这个命令就是来进行初始化新用户。这里要注意命令执行后的结果,
第一次的时候我的执行结果是这样的:
root@zhou:/usr/local/mysql# scripts/mysql_install_db --defaults-file=/usr/local/mysql/data_3307/my.cnf --datadir=/usr/local/mysql/data_3307/
Installing MySQL system tables...
130107 10:25:47 [ERROR] COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'
130107 10:25:47 [ERROR] Aborting
130107 10:25:47 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete


这里可以看出已经出现了错误,原因是什么,大家应该可以看明白了,自己太马虎了。导致自己重新执行了一次cmake
然后重新进行上面的命令了。直到我们看到这样的结果:表示初始化成功了,恭喜你下面可以进行下面的操作了。
root@zhou:/usr/local/mysql# mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/data3307/my.cnf --datadir=/usr/local/mysql/data3307/
Installing MySQL system tables...
OK
Filling help tables...
OK


这时他会在我们的data目录中生成一些mysql库啊和test库等这些基本信息。
对了一定要注意了,权限的分配,一不小心mysql的就无法读取相关文件的权利。
mysqld_safe --defaults-file=/usr/local/mysql/data_3307/my.cnf &
130107 13:35:36 [Note] Server socket created on IP: '0.0.0.0'.
130107 13:35:36 [ERROR] /usr/local/mysql/bin/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
130107 13:35:36 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
130107 13:35:36 mysqld_safe mysqld from pid file /usr/local/mysql/data3307/mysql.pid ended


这里的错误也是很明显的原因就是我们没有读取host。frm的权限了,补救的办法又两种:一种是直接到目录下给mysql附上这样的权限,第二种就是追究它原因为什么会那样呢?原因是我们在初始化的时候,没有加入--user=mysql这个参数才导致生成的文件全市root权限。
在下次做时,就需要这样的命令了:
root@zhou:/usr/local/mysql# mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/data3307/my.cnf --datadir=/usr/local/mysql/data3307/ --user=mysql


ok,这时我们可以通过命令来查看一下我们开通的服务个数,然后登录上去进行基本的操作,权限,键表啊,replication啊等等。

这里启动了三个mysql服务器后,发现只能登录到3306上面的服务去,而其他的就是没法登录,当我把3307 3306杀掉后,登录mysql确出现错误了,
root@zhou:/usr/local/mysql/tmp# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)


错误原因:当在没有指定那个数据库服务器是它是有个默认启动计划,所以这里可以看出它还是在等待mysql 3306的那个服务器的。
root@zhou:/etc/init.d# mysql -h127.0.0.1 -P3307
分享到:
评论

相关推荐

    mysql8.0.11多实例安装

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

    mysql多实例部署

    通过以上步骤,我们可以在同一台服务器上成功部署并运行多个MySQL实例。这种方式不仅可以提高资源利用率,还能更好地支持不同的业务需求。需要注意的是,在实际生产环境中,还需要根据具体的业务场景调整各个实例的...

    mysql多实例详细配置

    在多实例环境中,每个MySQL实例都拥有自己的数据目录(`datadir`)、日志文件、配置文件等,确保了数据的隔离性和安全性。通过这种方式,企业可以在同一硬件资源上灵活部署多个项目或服务,避免了为每个项目单独购买...

    mysql多实例.docx

    在一台服务器上部署多个MySQL实例能够提高资源利用率,并且方便进行隔离管理和维护。以下将详细介绍如何在同一台虚拟机上配置MySQL数据库多实例。 ##### 1. 建立目录结构 为了清晰地区分各个实例,首先需要创建...

    SpringMVC Mysql 实例详解

    在这个实例详解中,我们将深入探讨这两者如何协同工作以构建一个功能完善的Web应用。 首先,让我们从`.classpath`文件开始,这是Eclipse或MyEclipse等IDE的工作空间配置文件,它包含了项目所需的库和类路径信息。在...

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

    ### Linux 下 MySQL 多实例安装部署及主从配置详解 #### 一、多实例安装部署 **背景介绍:** 在 Linux 系统中部署多个 MySQL 实例是非常常见的需求,尤其对于那些需要高可用性和负载均衡的环境。本文将详细介绍...

    mysql存储过程实例详解,pdf

    mysql存储过程实例详解

    Linux 下MySQL 单实例安装.md

    ### Linux下MySQL单实例安装详解 #### 一、概述 MySQL是一种广泛使用的开源关系数据库管理系统,在Web应用开发、数据处理等领域发挥着重要作用。对于Linux系统而言,安装MySQL单实例不仅能够帮助用户快速搭建...

    mysql单机多实例布署

    mysql单机多实例布署可分为两种情况:(1)多配置文件,分别控制;(2)单配置文件,集中控制或单实例控制,配置步骤详解。

    SpringMVC+Mysql实例详解

    总的来说,SpringMVC+Mysql实例涵盖了Web应用开发的多个方面:从请求处理、业务逻辑到数据存储和用户界面。通过这个实例,你可以了解如何利用SpringMVC的注解驱动、依赖注入特性,以及如何与MySQL数据库无缝集成,为...

    MySQL多表查询详解

    ### MySQL多表查询详解 #### 一、多表查询的基本概念与操作 多表查询是在实际业务场景中非常常见的需求之一。它允许我们从多个表中检索数据,并将这些数据组合在一起以形成有意义的信息。在MySQL中,多表查询通常...

    PHP操作MYSQL实例详解

    【PHP操作MYSQL实例详解】 在Web开发中,数据库的使用是不可或缺的一部分,因为它们能够有效地存储和管理大量的信息,提供快速检索和更新数据的能力。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,...

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

    本教程将详细讲解如何在CentOS上编译安装MySQL 5.6以及配置多个MySQL实例。 首先,我们从创建MySQL用户和组开始。通过执行`useradd`命令创建一个名为`mysql`的用户,并指定其不分配家目录(`-M`)且使用`/sbin/...

    MySQL多实例配置方案

    1. **多套独立目录**:为每个MySQL实例设置独立的数据、配置、日志文件目录。 2. **每个实例有独立的数据**:每个实例拥有自己的初始化数据,这可以通过初始化数据过程来完成。 3. **多个端口**:不同的MySQL实例...

    Python操作MySQL数据库实例详解【安装、连接、增删改查等】

    本篇文章将详细阐述如何使用Python与MySQL进行交互,包括安装MySQL库、建立连接、数据库和表的操作以及数据的增删改查。 首先,安装Python连接MySQL的库——MySQL Connector/Python。你可以通过Python的包管理器pip...

    MySQL 序列 AUTO_INCREMENT详解及实例代码

    MySQL 序列 AUTO_INCREMENT详解及实例代码 MySQL序列是一组整数:1, 2, 3, …,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。 本章我们将介绍如何使用...

Global site tag (gtag.js) - Google Analytics