本文主要是介绍linux系统下安装64位mysql 5.6的过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、 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. 解压安装包
进入安装包所在目录,执行命令:
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. 修改mysql的root用户密码,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的管道文件。
这篇关于linux系统下安装64位mysql 5.6的过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!