前面的话:最近公司一个项目需要部署在TX云上,其OS为centOS6.5,部署mysql过程遇到相关问题,特辑之。
以前服务器一直架设在阿里云上,对于数据库mysql的安装均通过yum进行部署,这次本想通过yum实现之,却遇到如下几个问题:
1、通过service mysql start命令,启动mysql,无法启动,在/var/log/mysql中查看日志,发现如此错误:
InnoDB: Error: log file ./ib_logfile0 is of different size 5242880 bytes
InnoDB: than specified in the .cnf file 50331648 bytes!修改/etc/my.cnf
innodb_log_file_size=128M
ok!
2、在终端进行mysql登陆:
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
最后还是存在很多问题,设置账号密码一直不成功,最终卸载mysql,重新通过rpm安装。由于centOS是基于redhat的企业免费版,从而可以在mysql官网上下载基于redhat和linux gernic版本的,但redhat可能会在glibc2.14的lib库上存在少包。最好使用linux通用版本。
卸载流程如下:
1、使用以下命令查看当前安装mysql情况
rpm -qa|grep -i mysql
可以下载mysql安装的组建,基本上包括devel、client和server,相关包不需要卸载,比如perl-mysql等
2、停止mysql服务、删除之前安装的mysql
service mysql stop
rpm -ev MySQL-client-5.5.25a-1.rhel5 --nodeps
3、查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysql
如果卸载后/etc/my.cnf没有删除,需要进行手工删除
4、再次查找机器是否安装mysql
rpm -qa|grep -i mysql
无结果,则删除完全。
rpm安装mysql安装流程如下:
1、在mysql官网下载mysql的linux通用rpm包
2、解压:
tar -xvf XXXX.tar
3、安装server、devel和client
[root@localhost rpm]# rpm -ivh MySQL-server-5.6.15-1.el6.x86_64.rpm
[root@localhost rpm]# rpm -ivh MySQL-devel-5.6.15-1.el6.x86_64.rpm
[root@localhost rpm]# rpm -ivh MySQL-client-5.6.15-1.el6.x86_64.rpm
4、修改配置文件位置
[root@localhost rpm]# cp /usr/my.cnf /etc/my.cnf
5、初始化mysql及设置密码
[root@localhost rpm]# service mysql start[root@localhost rpm]# cat /root/.mysql_secret #查看root账号密码
# The random password set for the root user at Wed Dec 11 23:32:50 2013 (local time): qKTaFZnl
[root@localhost ~]# mysql -u root –pqKTaFZnl
mysql> SET PASSWORD = PASSWORD('123456'); #设置密码为123456
mysql> exit
[root@localhost ~]# mysql -u root -p123456
6、设置远程登录:
mysql> use mysql;
mysql> ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
7、设置开机自启动
[root@localhost ~]# chkconfig mysql on
[root@localhost ~]# chkconfig --list | grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
8、开放防火墙端口:
[root@localhost ~]#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
然后保存:
#/etc/init.d/iptables save
最后通过navicat进行远程连接测试,