linux系统下安装64位mysql 5.6的过程

引用: http://blog.csdn.net/u011391839/article/details/40110875

一、   linux安装mysql服务分两种安装方法:

①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错;

②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右。以下介绍Linux使用官方编译好的二进制包安装MySQL

 

二、   工具/原料

mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz

centos 6.5系统

 

三、       方法和步骤

1.       Mysql下载地址

http://dev.mysql.com/downloads/file.php?id=413140

 

2.     解压安装包

进入安装包所在目录,执行命令:

扫描二维码关注公众号,回复: 233446 查看本文章

tar-zxvf mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz  

 

3.      复制解压后的mysql目录到系统的本地软件目录:

执行命令:cp mysql-5.6.12-linux-glibc2.5-x86_64 /usr/local/mysql -r

注意:目录结尾不要加/

 

4.      添加系统mysql组和mysql用户:

执行命令:groupadd mysql和useradd -r -g mysql mysql

 

5.      安装数据库:

进入安装mysql软件目录:执行命令 cd /usr/local/mysql

修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./

安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql

修改当前目录拥有者为root用户:执行命令 chown -R root:root ./

修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data

到此数据库安装完毕

 

6.      启动mysql服务和添加开机启动mysql服务:

添加开机启动:执行命令cp support-files/mysql.server /etc/init.d/mysqld,把启动脚本放到开机初始化目录

cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 2345 mysqld on

启动mysql服务:执行命令service mysqld start

执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功,如图


 

 

7.      修改mysqlroot用户密码,root初始密码为空的:

执行命令:./bin/mysqladmin -u root password '密码'

 

四、  安装过程出现的问题

1) 问题1:

Starting MySQL.............The server quit withoutupdating[失败]ile (/var/lib/mysql/miao.pid)

解决办法汇总:

①   可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限

解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

②可能进程里已经存在mysql进程

解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

③可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !tp://blog.rkfan.com/?p=186

④mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。

解决方法:请在[mysqld]下设置这一行:datadir= /usr/local/mysql/data(我使用此种方法解决的)

⑤.skip-federated字段问题

解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

⑥.错误日志目录不存在

解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

7.selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

 

2) 问题2:关于Can't connect tolocal MySQL server through socket '/tmp/mysql.sock' (2)的问题

 [root@miao bin]# ./mysql -u root -p

Enterpassword:

ERROR2002 (HY000): Can't connect to local MySQL server through socket'/tmp/mysql.sock' (2)

解决办法ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

就这样,我把这个问题解决了,可是我还是有点迷糊,为什么一定要去找/tmp/mysql.sock这个文件,是不是一开始我就给它ln一个链接就可以解决?这个mysql.sock到底是用来做什么的?于是我就产生了看看这个文件内容的想法,

cat /var/lib/mysql/mysql.sock

提示我,cat:/var/lib/mysql/mysql.sock:没有那个设备或地址

ll /var/lib/mysql/mysql.sock

看到的属性是:

srwxrwxrwx 1 mysqlmysql 0 11-21 14:39 /var/lib/mysql/mysql.sock

个属性引起了我的注意,档案类型标志是s,还真没去了解过这样的类型,到鸟哥的私房菜去找了一下,原来,这个是资料接口档,用我们大陆说的习惯应该是套接 字文件(sockets),这种文件一般用在网络上的资料套接,mysqld守护进程生成了这个文件,其他与mysql相关的程序想使用mysql,估计 就是通过这个文件了。

这种特殊文件即使是最高权限的root用户,也是不能查看不能编辑的,有点像档案标志是p的管道文件。

猜你喜欢

转载自angie.iteye.com/blog/2391146
今日推荐