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
如果未出现任何信息,说明该系统没有安装mysql数据库。linux系统的经典语句“没有结果就是最好的结果”
如果已经安装mysql数据库,请使用如下命令卸载:
yum -y remove mysql (注:这里的mysql是包名,根据检查的结果写上具体的包名)
3、安装前准备
(1)安装libaio包,由于mysql数据库的安装依赖libaio包,所有需要事先安装该包,否则会报错。
在网上下载包,并上传到服务器上。使用如下命令安装:
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
出现上图信息,表示安装成功。
(2)检查mysql用户及组是否存在。使用如下命令查看
cat /etc/group |grep mysql
出现上图信息,说明用户及组已经存在。
如果不存在,使用如下命令创建
创建组: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
使用如下命令改变解压后的文件名:
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
当初始化完成后,会生成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
修改如下几个参数信息:
如果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
修改/etc/init.d/mysqld文件中的basedir= datadir= 为实际安装目录。
赋予mysqld执行权限:
chmod +x /etc/init.d/mysqld
把mysql注册为开机启动的服务
chkconfig --add mysqld
7、启停mysql服务
启动mysql服务
/etc/init.d/mysqld start
停止mysql服务
/etc/init.d/mysqld stop
使用如下命令检查mysql是否已经启动成功
ps -ef|grep mysql
出现如上图的信息,说明mysql启动成功
8、客户端登录mysql
进入到目录 cd /home/mysql/mysql/bin
使用如下命令登录mysql:
./mysql -uroot -p
这里提示需要输入密码,这里的密码是初始化mysql时root的初始密码,请在这里输入初始化密码
如果连接出现如下错误:
说明mysql.sock文件的位置连接不对,配置/etc/my.cnf中的socket=/tmp/mysql.sock
再次登录./mysql -uroot -p
进入到mysql操作界面
这里是第一次登录,使用的是root的初始密码,需要修改初始密码才能进行其他操作。使用如下语句修改密码:
alter user 'root'@'localhost' identified by 'xxxxxx';
如果报如下错误:
根据提示信息,说明权限没有刷新,使用如下命令刷新权限。
flush privileges;
然后再次修改密码成功;
9、添加远程访问权限
重启mysql后生效
/etc/init.d/mysqld restart