第一步:下载
进入到mysql官网下载自己对应版本的mysql。
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
我这里下载mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz版本
也可以进入linux后用命令下载
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
第二步:环境配置
linux连接工具:Xshell
linux文件管理工具:Xftp
linux系统版本: CentOS 7 64位
安装源文件版本:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
安装前,我们可以检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
如有,类似:
mysql-libs-5.1.52-1.el6_0.1.x86_64
那可以选择进行卸载:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
检查否存在 mariadb 数据库,如有,卸载之,卸载同上.
rpm -qa | grep mariadb
如有,类似:
mariadb-libs-5.5.56-2.el7.x86_64
则卸载:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
用Xftp工具将下载的mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz上传到linux服务器的/opt/mysql目录下面
第三步:安装
进入安装包所在目录,解压文件:
cd /opt/mysql
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
重命名:
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
添加系统mysql组和mysql用户
检查mysql组和用户是否存在,如无创建:
cat /etc/group | grep mysql
#类似
mysql:x:490:
cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash
以上为存在的情况,如无,执行添加命令:
groupadd mysql
useradd -r -g mysql mysql
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统
安装数据库
创建data目录:
cd mysql-5.7.25
mkdir data
将/opt/mysql/mysql-5.7.25的所有者及所属组改为mysql
chown -R mysql.mysql /opt/mysql/mysql-5.7.25
在/opt/mysql/mysql-5.7.25/support-files目录下创建my_default.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /opt/mysql/mysql-5.7.25
datadir = /opt/mysql/mysql-5.7.25/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /opt/mysql/mysql-5.7.25/data/mysqld.log
pid-file = /opt/mysql/mysql-5.7.25/data/mysqld.pid
拷贝,如果提示是否覆盖,y
cp support-files/my_default.cnf /etc/my.cnf
初始化mysqld
cd /opt/mysql/mysql-5.7.25
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.25/ --datadir=/opt/mysql/mysql-5.7.25/data/
初始化完成之后,查看日志
vim /opt/mysql/mysql-5.7.25/data/mysqld.log
复制临时密码
2020-11-27T07:51:04.521266Z 1 [Note] A temporary password is generated for root@localhost: kXc<NKTNy9A-
把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
#设置开机启动mysql服务
chkconfig mysql on
#检查一下服务
chkconfig --list|grep mysql
#设置执行权限
chmod 755 /etc/init.d/mysql
启动mysql服务
service mysql start
登录mysql,密码为初始密码
cd /opt/mysql/mysql-5.7.25
./bin/mysql -u root -p
修改密码
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
重启mysql生效
service mysql stop
service mysql start
或
service mysql restart
第四步:设置环境变量
每次都要到mysql文件夹下对应的bin目录里执行命令有点烦,所以可以设置环境变量。
我的mysql安装路径如下:
按照我们通常的习惯就是,在服务器的任意位置执行mysql命令都可以登入mysql命令行界面,那么就需要将mysql加入到系统变量里,步骤如下:
1. 先编辑/etc目录下的配置文件profile,文件末尾追加mysql相关配置
vim /etc/profile
截图中上面是之前配置的jdk不用管, 下边是现在配置的mysql :
MYSQL_HOME={当前mysql的安装路径,参考下图}
PATH=$PATH:$MYSQL_HOME/bin
export PATH MYSQL_HOME
保存修改并退出。
2. 执行重新加载配置文件命令:
source /etc/profile
然后尝试用mysql命令登入mysql
注意:
(1) 如果还是提示 -bash: mysql: command not found,可能是/etc/profile配置出错,注意数据库安装路径是否配错,还有确认是否执行了重新加载配置文件的命令。自行排查错误。
(2) 如果输入密码一直提示错误,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),那么强制修改登入密码(修改地址看这里https://blog.youkuaiyun.com/qq_41844424/article/details/110238137),然后重新登录。