1、下载mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
2、上传到centos
3、检查你所用的Linux下有没有安装过mysql,有没有卸载干净
rpm -qa|grep -i mysql
如果存在,则需要先卸载掉,不然会出现覆盖错误。
yum remove mysql mysql-server mysql-libs mysql-server
find / -name mysql
将找到的相关东西delete掉(rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64,rpm -ev)
rpm -qa|grep mysql
查询出来的东西yum remove掉
4、创建mysql的用户组/用户, data目录及其用户目录
删除用户(如果存在)
userdel mysql
删除用户组名(如果存在)
groupdel mysql
mysql的默认安装路径,建议不要更换,如果更换后需要更新配置
mkdir /usr/local/mysql
在mysql文件夹下创建文件夹data
mkdir /usr/local/mysql/data
创建一个名为mysql的用户组
groupadd mysql
在用户组下创建用户
useradd -g mysql -d /usr/local/mysql mysql
5、解压缩并转移
解压文件
tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
进入
cd mysql-5.7.17-linux-glibc2.5-x86_64
转移
mv * /usr/local/mysql/
6、编译安装
cd /usr/local/mysql/
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
记录上面成功安装后的密码,如上:hIE;k,h8gd#q,后续用到!
7、启动mysql服务
./support-files/mysql.server start
截至目前,证明mysql已运行成功!!!
8、配置mysql
进入mysql的安装目录支持文件目录
cd /usr/local/mysql/support-files
拷贝配置文件模板为新的mysql配置文件
cp my-default.cnf /etc/my.cnf
设置编码,可按需修改新的配置文件选项,不修改配置选项,mysql则按默认配置参数运行。
如下是我修改配置文件/etc/my.cnf, 设置编码为utf8以防乱码。
vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
此处需要注释掉#
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
否则后续登陆时会报异常:
mysql: [ERROR] unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
9、配置mysql服务开机自动启动 拷贝启动文件到/etc/init.d/下并重命令为mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
增加执行权限
chmod 755 /etc/init.d/mysqld
检查自启动项列表中没有mysqld
chkconfig --list mysqld
如果没有就添加mysqld
chkconfig --add mysqld
设置开机启动
chkconfig mysqld on
10、mysql服务的启动/重启/停止
启动服务
service mysqld start
重启服务
service mysqld restart
停止服务
service mysqld stop
11、修改mysql用户root的密码
mysql -u root -p
输入上边自动生成的密码,进入mysql环境,如果进入不了,出现mysql: command not found,请输入以下命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin
mysql> SET PASSWORD = PASSWORD('123456'); # PASSWORD()里面的123456 是设置的新密码,可以设置成你的密码
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 1
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 1
12、mysql远程授权
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
13、验证,可能需要关闭防火墙
service iptables stop
14、安装完成