当前位置:  数据库>mysql

基于mysql多实例安装的深入解析

    来源: 互联网  发布时间:2014-10-09

    本文导语:  相信大多数人都遇到过多实例安装mysql吧,相信大多数人只要找到一份多实例安装的教程就会很容易搞定了,但是越是顺利的安装过程越让我们不安,为什么呢,当我们在按照教程一步一步来的时候,你知道每句话的意思的目...

相信大多数人都遇到过多实例安装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

    
 
 

您可能感兴趣的文章:

  • Mysql Select查询执行流程介绍及实例
  • php读取mysql数据库入门实例
  • mysql 存储过程实例和基本语法
  • php读取mysql入门实例
  • 在Mysql上创建数据表实例代码
  • MySQL 有输入输出参数的存储过程实例
  • Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份
  • mysql存储过程实例
  • PHP处理SQL脚本文件导入到MySQL的代码实例
  • Sphinx/MySQL 协议支持与SphinxQL应用实例
  • mysql alter语句用法实例
  • mysql存储过程中使用游标的实例
  • C# 批量插入Mysql数据的实例代码
  • java连接MySQl数据库实例代码
  • 求助:linux mysql多实例,2002 (HY000): Can't connect to local MySQL server
  • MySql游标的使用实例
  • mysql自动增量备份的实例方法(本地备份与远程备份)
  • 配置MySQL与卸载MySQL实例操作
  • mysql实现事务的提交和回滚实例
  • php读取mysql的简单实例
  • php+mysql不用递归实现的无限级分类实例(非递归)
  • 怎样让我的程序能像mysql一样运行后有一个mysql>的提示符等待用户输入并解析用户输入的数据然后执行操作?
  • 解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)
  • 解析mysql修改为utf8后仍然有乱码的问题
  • MySQL的SQL语法解析器 DBIx-MyParse
  • 解析mysql中如何获得数据库的大小
  • 解析如何加快mysql编译的速度
  • MySQL连接无法解析HOST主机名的解决方法
  • 解析MYSQL 数据库导入SQL 文件出现乱码的问题
  • 解析Hibernate + MySQL中文乱码问题
  • 深入解析Linux下MySQL数据库的备份与还原
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 深入mysql YEAR() MONTH() DAYOFMONTH()日期函数的详解
  • 深入mysql并发插入优化详解
  • mysql中limit的用法深入分析
  • 深入MYSQL字符数字转换的详解
  • 基于Mysql存储引擎的深入分析
  • 深入mysql存储过程中表名使用参数传入的详解
  • 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
  • MySQL中group_concat函数深入理解
  • 深入mysql主从复制延迟问题的详解
  • 深入理解MySQL的数据库引擎的类型
  • 深入mysql基础知识的详解
  • 基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析
  • 深入了解mysql的4种常用、重要的数据类型
  • mysql 事务处理及表锁定深入简析
  • mysql整数数据类型深入解析
  • 深入理解mysql SET NAMES和mysql(i)_set_charset的区别
  • 深入mysql慢查询设置的详解
  • 深入Mysql字符集设置 图文版
  • 深入mysql创建自定义函数与存储过程的详解
  • Mysql中order by、group by、having的区别深入分析
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • MySQL 重装MySQL后, mysql服务无法启动
  • php安装完成后如何添加mysql扩展
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • MySQL Workbench的下载安装与使用教程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3