在CentOS或者就通常Linux版本而言, 安装mysql一般会采用两种方式:mysql
经过make install 编译source codesql
经过相似yum install mysql-server 或者 apt-get install mysql-server这样的系统commandsshell
其实归根揭底都是一个目的,安装成功,可以使用。无非编译源码,须要手动配置一些文件而已。然而,通常状况下在安装完mysql后都会遇到如下两个问题,不过解决起来也很easy。vim
远程登陆服务端的mysql安全
要远程登陆mysql,必须为登陆的用户受权.这样就须要先在服务端登陆mysql,废话少说,仍是直接用command说话,固然此处本人mysql用户名和密码:root/root服务器
mysql -h127.0.0.1 -uroot -proot
grant all privileges on *.* to root@"%" identified by "password" with grant option; flush privileges;
防火墙开着,第一个问题解决了依然访问不了。微信
针对这个问题,最直接的方法就是socket
service iptables stop
然而在某些状况下,这个不该该称之为解决方法。由于防火墙自由它的用途不能由于某一个程序的访问而关掉整个服务器的防火墙,岂不是要下降Server端的安全性,那就只开放须要的端口呗。经过vi/vim编辑器打开位于/etc/sysconfig下的iptables文件,编辑下添加如下内容保存便可编辑器
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 3306 -j ACCEPT
service iptables restart
Ok,能够远程访问了。ide
到此,mysql算是安装完了。可是项目要求是多个mysql又穷的只有一台Server。怎么办?有人说技术不是问题,确实在某些状况下如此,世界如此之大,我等草民又怎么可能那么容易遇到一个史无前例的问题呢。办法以下两个:
采用了编译源码的人最可能选择的方法
既然已经编译安装成功一个那就继续copy下source code folder,make install 完了后编辑mysql的配置文件my.cnf给指定个非3306的端口,再启动一个。看上去也很容易。what a pity! 时间是最难得的,须要的实例越多,编译的越多,伤不起。仍是看下下一个方法吧,懒人自由懒办法。
采用了懒办法,使用系统命令安装的人对应的办法
首先找到mysql安装后位于/var/lib下的mysql文件夹。没错就是它,须要几个就复制几个,固然命名上仍是规范点利于本身的配置。此处举一下几个例子
cp -r /var/lib/mysql /var/lib/mysql3307 cp -r /var/lib/mysql /var/lib/mysql3308
这里不得不提醒须要受权给mysql以上两个新文件夹的权限
chown -E mysql mysql3307 chown -R mysql mysql3308
接下来去编辑位于/etc下的my.cnf
[mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin #user = mysql [mysqld1] socket = /var/lib/mysql/mysql.sock port = 3306 pid-file = /var/lib/mysql/mysql.pid datadir = /var/lib/mysql user = mysql [mysqld2] socket = /var/lib/mysql3307/mysql.sock port = 3307 pid-file = /var/lib/mysql3307/mysql.pid datadir = /var/lib/mysql3307 user = mysql [mysqld3] socket = /var/lib/mysql3308/mysql.sock port = 3308 pid-file = /var/lib/mysql3308/mysql.pid datadir = /var/lib/mysql3308 user = mysql
配置结束,启动全部mysql
mysqld_multi start
检测是否都启动了
mysqld_multi report
结果
mysql is running mysql3307 is running mysql3308 is running
大功告成,若是远程没法访问,照着文章开始那样对应着作就能够了。
如有疑问可微信扫描下列二维码并关注留言