一、MySQL安装之前的准备工作
1、安装依赖包
yum install -y ncurses-devel libaio-devel
2、关闭防火墙和SELINUX
systemctl stop firewalld和setenforce 0
3、上传软件并解压软件
tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar
二、初始化数据库(相当于建库)
1、建库
进入软件解压目录中的bin去执行./mysqld --initialize --basedir=/data/mysql --datadir=/data/mysql/data --user=mysql,这里要注意你软件解压的目录就是你的basedir,至于datadir最好也是建在这个目录下面。当你执行这个命令成功后,最后提示你生成一个root用户的临时密码,这个密码可以保存下来用来第一次登录或者在配置文件添加skip-grant-tables参数跳过密码验证。
2、手工创建配置文件
这里需要手工创建一个/etc/my.cnf文件,有些Linux系统会自动带有这个文件,但是里面的参数还是要自己修改。
[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
log_error=/data/mysql/data/mysql.err
user=mysql
三、启动数据库
1、添加服务到系统启动
cp /data/mysql/support-filesmysql.server /etc/init.d/mysql
2、启动服务
service mysql start
3、添加环境变量
vim .bash_profile
export PATH=/data/mysql/bin:$PATH
source .bash_profile
到这里一个简单的MySQL数据库已经安装完成,下面讲讲我安装过程中遇见的问题。
例如:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
这个问题是明显的MySQL服务没有启动,随便上面报的是缺少sock文件,并且我网上查资料的时候很多文章都是教你使用find命令查找系统中是否存在sock文件,通过软连接等方式建立sock,然后这还有个前提就是MySQL服务是启动。
还有ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)问题
这个问题是使用mysql -h 127.0.0.1 -uroot -p这个方式连接MySQL,这里的报错就很明显了,也是MySQL服务问题。
上面两个问题都是MySQL服务未启动导致的,可以根据ps -ef|grep mysql方式查看MySQL服务是否启动。