mysql多实例安装详解_MySQL

php中文网
发布: 2016-05-27 14:12:24
原创
1358人浏览过

bitsCN.com

首先说明一个场景:我的电脑是ubuntu系统,之前apt-get自动安装过mysql。这也是出现错误最多的原因之一。 

安装过程,其中充斥着各种错误: 
  1. 6.mkdir mysql  
  2. 7.groupadd mysql  
  3. 8.useradd -r -g mysql mysql  
  4. # make clean  
  5. # rm -f CMakeCache.txt  
  6. # rm -rf /etc/my.cnf  
  7. 9.cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  
  8. -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8  
  9. -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all  
  10. -DENABLED_LOCAL_INFILE=1  
  11. make  
  12. make install  
这个表示mysql源码安装已经完成了,现在要做就是初始化用户了,也就是多实例中最重要的一部了,以后的每一步都要注意命令执行后的结果: 
  1. cd /usr/local/mysql  
  2. chown -R root:mysql .  
  3. chown -R mysql:mysql data  
  4. 11.cp support-files/my-medium.cnf /etc/my.cnf  
  5. 12.cd /usr/local/mysql  
  1. scripts/mysql_install_db --defaults-file=/usr/local/mysql/data_3308/my.cnf --datadir=/usr/local/mysql/data_3308/  
上面的mysql_install_db这个命令就是来进行初始化新用户。这里要注意命令执行后的结果,
  1. 第一次的时候我的执行结果是这样的:  
  2. root@zhou:/usr/local/mysql# scripts/mysql_install_db --defaults-file=/usr/local/mysql/data_3307/my.cnf --datadir=/usr/local/mysql/data_3307/  
  3. Installing MySQL system tables...  
  4. 130107 10:25:47 [ERROR] COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'  
  5. 130107 10:25:47 [ERROR] Aborting  
  6. 130107 10:25:47 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete  
这里可以看出已经出现了错误,原因是什么,大家应该可以看明白了,自己太马虎了。导致自己重新执行了一次cmake 
然后重新进行上面的命令了。直到我们看到这样的结果:表示初始化成功了,恭喜你下面可以进行下面的操作了。 
  1. root@zhou:/usr/local/mysql# mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/data3307/my.cnf --datadir=/usr/local/mysql/data3307/  
  2. Installing MySQL system tables...  
  3. OK  
  4. Filling help tables...  
  5. OK  
这时他会在我们的data目录中生成一些mysql库啊和test库等这些基本信息。 
对了要注意了,权限的分配,一不小心mysql的就无法读取相关文件的权利。 
  1. mysqld_safe --defaults-file=/usr/local/mysql/data_3307/my.cnf &  
  2. 130107 13:35:36 [Note] Server socket created on IP: '0.0.0.0'.  
  3. 130107 13:35:36 [ERROR] /usr/local/mysql/bin/mysqld: Can't find file: './mysql/host.frm' (errno: 13)  
  4. 130107 13:35:36 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)  
  5. 130107 13:35:36 mysqld_safe mysqld from pid file /usr/local/mysql/data3307/mysql.pid ended  
这里的错误也是很明显的原因就是我们没有读取host。frm的权限了,补救的办法又两种:一种是直接到目录下给mysql附上这样的权限,第二种就是追究它原因为什么会那样呢?原因是我们在初始化的时候,没有加入--user=mysql这个参数才导致生成的文件全市root权限。 
在下次做时,就需要这样的命令了: 
  1. 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确出现错误了, 
  1. root@zhou:/usr/local/mysql/tmp# mysql  
  2. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)  
错误原因:当在没有指定那个数据库服务器是它是有个默认启动计划,所以这里可以看出它还是在等待mysql 3306的那个服务器的。 
  1. root@zhou:/etc/init.d# mysql -h127.0.0.1 -P3307  
bitsCN.com
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号