在Linux 中搭建 Mysql
在本次搭建,出现了各种问题,一直解决不掉,建议各位小伙伴不要像我一样,像一个无头的苍蝇一样,这有问题就解决这个问题,没有意识本质实在的问题。
主要问题(加星,标重点):一定要看自己的linux 版本,不要随便下载一个mysql 就直接安装,安装到最后,也运行不出来,因为二进制执行程序压根就不给用。例如:mysqld ,显示 not found 。以下是正确的安装方法:
一、查看自己的linux 操作系统是几位的,根据自己的系统位数下载相应的Mysql 软件 ,我的linux 是64位。
# uname -i
二、下载好安装包,我是在培训资料上下载的:mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz,文件扩展名是tar.gz。
然后将在windows 下载好的软件,复制到虚拟机桌面上,文件名是tar.gz,显然是用tar 和gzip 进行压缩的。
三、解压,复制进去之后,将文件进行解压,用命令:tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz,解压出来之后就有一个文件夹,移动解压完的目录并更改名字为mysql。再将文件移动,判断/usr/local路径中原本是否相同的文件夹,用命令进行更改为其它的名字后再将mysql 文件夹移到该路径中:
# cd 桌面
# && mv /usrlocal/mysql /usr/local/mysql_old
# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
四、建立MySQL用户,启动mysql需要该用户:
# useradd -s /sbin/nologin mysql
# cd /usr/local/mysql
创建datadir,数据库文件会放到这里:
# mkdir -p data/mysql
更改权限,否则后面会报错:
# chown -R mysql:mysql data/mysql
进行初始化,指定用户为mysql
,指定数据存放路径/usr/local/mysql/data/mysql
:
# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
可以看到,上面出现了两个OK,这就说明初始化成功。如果没有成功,可能是因为有些东西没有安装,第一时间,去百度出现ERROR 的地方。例如:c 与 gcc 未安装、“please install the following Perl modules before executing ./scripts/mysql_install_db: Data::Dumper”、”The parent directory for the data directory '/data/mysql' does not exist.If that path was really intended, please create that directory path and thenrestart this script.“等。
解决方法:1、出现:“please install the following Perl modules before executing ./scripts/mysql_install_db: Data::Dumper”,用以下命令进行在线安装(记得联网)
先查查:
# yum list |grep perl | grep -i Dumper
不知道的情况下,可以一个个去安装上面的包,这里我们知道是第一个,使用yum安装
# yum install -y perl-Data-Dumper.x86_64
再次初始化:# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
2、出现:”The parent directory for the data directory '/data/mysql' does not exist.If that path was really intended, please create that directory path and thenrestart this script.“,是提示没有这样的目录或文件,我们需要在data/mysql
前面加上绝对路径:# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql 。
3、提示没有libaio.so.1 ,没有就安装:# yum install -y libaio*
再次初始化:# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
检验一下:# echo $? ,输出为0,说明上一条命令已经正确执行。
五、配置Mysql ,初始化完成之后,接下来就是配置(划重点:路径要一模一样,不然最后启动不了,mysqld 命令报错)。
首先复制配置文件:# cp support-files/my-default.cnf /etc/my.cnf
打开配置文件,做以下修改:
然后复制启动脚本文件,并修改启动脚本文件的属性:
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# vim /etc/init.d/mysqld
接下来将启动脚本加入系统服务项并设置开机启动:
# chkconfig --add mysqld
# chkconfig mysqld on
最后启动服务:# service mysqld start
启动成功!!!上面已经启动成功,如果没有成功启动,我们也可以到/usr/local/mysql//data/mysql
目录下查看错误日志。
检查是否启动成功,命令:# ps aux |grep mysqld
停止MySQL服务:# service mysqld stop 停止之后,可以用上一个命令再次查看是否在运行,没有Mysql 即表示关闭成功。
还可以以命令行的方式启动脚本,--defaults-file
指定配置文件,指定用户,指定目录,最后加上&
符号,放到后台执行。以命令行的方式启动的mysql脚本不能直接stop,可以使用killall
停止服务。命令如下:
# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
最后,安装完成!!!!!开心,一个星期才解决,因为这个安装不上,影响php 的安装,所以,我的学习进度变的很慢。