centos7下安装mysql5.7.18

时间:2021-12-26 10:26:55
摘要: 本文简单介绍了centos7版本下安装mysql数据库。由于centos7和之前的版本差异较大,所以配置也੍...

1、安装环境介绍

   操作系统:CentOS7 64位,MINI安装版。mysql版本:mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

   该安装包可以到mysql官网下载,都是免费的。

2、检查当前系统中是否已安装mysql数据库   

检查当前系统是否已经安装了mysql数据库。使用如下命令

yum list installed |grep mysql

centos7下安装mysql5.7.18

如果未出现任何信息,说明该系统没有安装mysql数据库。linux系统的经典语句“没有结果就是最好的结果”

如果已经安装mysql数据库,请使用如下命令卸载:

yum -y remove mysql (注:这里的mysql是包名,根据检查的结果写上具体的包名)

centos7下安装mysql5.7.18

3、安装前准备

(1)安装libaio包,由于mysql数据库的安装依赖libaio包,所有需要事先安装该包,否则会报错。

在网上下载centos7下安装mysql5.7.18包,并上传到服务器上。使用如下命令安装:

rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

centos7下安装mysql5.7.18

出现上图信息,表示安装成功。

(2)检查mysql用户及组是否存在。使用如下命令查看

cat /etc/group |grep mysql

centos7下安装mysql5.7.18

出现上图信息,说明用户及组已经存在。

如果不存在,使用如下命令创建

创建组:groupadd mysql

创建用户并把该用户加入到组mysql

useradd -r -g mysql mysql   (注:这里的 -r是指该用户是内部用户,不允许外部登录)

给用户mysql设置密码:passwd mysql

(3)解压mysql安装包:把事先下载好的mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz包上传到服务器上,然后使用如下命令解压:

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

centos7下安装mysql5.7.18

使用如下命令改变解压后的文件名:

mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql

把该mysql目录权限更改到mysql用户及组下。使用如下命令:

chown -R mysql:mysql /home/mysql/mysql

4、安装及初始化mysql数据库

进入到目录/home/mysql/mysql/bin下

cd /home/mysql/mysql/bin

使用如下命令安装及初始化mysql

./mysqld --initialize --user=mysql --datadir=/home/mysql/data --basedir=/home/mysql/mysql

centos7下安装mysql5.7.18

当初始化完成后,会生成root的初始化密码,一般在最后一行,如上图红色框部分。这里一定要记住该密码,后面登录mysql时需要输入改密码信息

这里一定要保证/home/mysql/data目录下没有任何数据,否则在初始化时会报错。需要清空太目录下的所有文件。

注:mysql5.7.18之前的版本初始化会使用mysql_install_db命令,但是5.7.18版本以后使用该命令会提示不请使用mysqld命令。

这里如果改变了默认的安装路径,需要修改 /etc/my.cnf,/etc/init.d/mysqld中的datadir=/.... 和basedir=/...的路径

5、配置msyql相关文件

在/home/mysql/mysql/support-file下载找到my-default.cnf文件,有这里的版本是mysql5.7.18,默认是没有该文件的,可以到之前版本的mysql解压包里面copy一份上传到该目录。

把该文件复制到/etc/目录下。使用以下命令:

cp my-default.cnf /etc/my.cnf

修改my.cnf文件

vi /etc/my.cnf

修改如下几个参数信息:

centos7下安装mysql5.7.18

如果tmp目录不存在,请创建该目录。

如果不把my.cnf文件复制到/etc/下,运行时会出现以下错误:

mysqld: Can't change dir to '/usr/local/mysql/data/' (Errcode: 2 - No such file or directory)

这样的出错提示,说明它没找到my.cnf中的配置;而去找了程序编译时的默认安装位置:/usr/local/mysql

6、设置mysql开启自启动

在/home/mysql/mysql/support-files下找到mysql.server文件,把该文件复制到/etc/init.d/目录下。

cp mysql.server /etc/init.d/mysqld

centos7下安装mysql5.7.18

修改/etc/init.d/mysqld文件中的basedir= datadir= 为实际安装目录。

赋予mysqld执行权限:

chmod +x /etc/init.d/mysqld

把mysql注册为开机启动的服务

chkconfig --add mysqld

centos7下安装mysql5.7.18

7、启停mysql服务

启动mysql服务

/etc/init.d/mysqld start

停止mysql服务

/etc/init.d/mysqld stop

使用如下命令检查mysql是否已经启动成功

ps -ef|grep mysql

centos7下安装mysql5.7.18

出现如上图的信息,说明mysql启动成功

8、客户端登录mysql

进入到目录 cd /home/mysql/mysql/bin

使用如下命令登录mysql:

./mysql -uroot -p

centos7下安装mysql5.7.18

这里提示需要输入密码,这里的密码是初始化mysql时root的初始密码,请在这里输入初始化密码

如果连接出现如下错误:

centos7下安装mysql5.7.18

说明mysql.sock文件的位置连接不对,配置/etc/my.cnf中的socket=/tmp/mysql.sock

再次登录./mysql -uroot -p

进入到mysql操作界面

centos7下安装mysql5.7.18

这里是第一次登录,使用的是root的初始密码,需要修改初始密码才能进行其他操作。使用如下语句修改密码:

alter user 'root'@'localhost' identified by 'xxxxxx';

如果报如下错误:

centos7下安装mysql5.7.18

根据提示信息,说明权限没有刷新,使用如下命令刷新权限。

flush privileges;

然后再次修改密码成功;

centos7下安装mysql5.7.18

9、添加远程访问权限

centos7下安装mysql5.7.18

centos7下安装mysql5.7.18

重启mysql后生效

/etc/init.d/mysqld restart