linux 下安装 mysql5.7.28

本贴最后更新于 1813 天前,其中的信息可能已经时移俗易

一、下载(推荐使用方式二)

方式一:进入到 mysql 官网下载自己对应版本的 mysql:

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
我这里下载的是 mysql-5.7.28-linux-glibc2.12-i686.tar.gz 版本
image.png

方式二:进入 linux 后台用命令下载

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

二、配置环境

1、安装前检查

1.1、检查系统是否有自带安装 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
1.2、检查是否存在 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

2、进入安装包所在目录,解压文件

cd /root/install  
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

3、重命名

mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28  
将安装目录拷贝到/www/server下  
cp -R mysql-5.7.28 /www/server

4、添加系统 mysql 组合 mysql 用户

4.1、检查 mysql 组合用户是否存在,存在则无需创建
cat /etc/group | grep mysql 
#类似
mysql:x:490: 
cat /etc/passwd | grep mysql 
#类似 
mysql:x:496:490::/home/mysql:/bin/bash
4.2、如不存在则创建
groupadd mysql  
useradd -r -g mysql mysql  
    
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统

三、安装数据库

1、创建 data 目录

cd /www/server/mysql-5.7.28  
mkdir data

2、修改安装目录权限

chown -R mysql.mysql /www/server/mysql-5.7.28

3、创建 my.cnf 文件

cd support-files  
vi my.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 = /www/server/mysql-5.7.28  
datadir = /www/server/mysql-5.7.28/data  
port = 3306  
socket = /tmp/mysql.sock  
character-set-server=utf8  
    
log-error = /www/server/mysql-5.7.28/data/mysqld.log  
pid-file = /www/server/mysql-5.7.28/data/mysqld.pid

4、拷贝,如果提示是否覆盖,y

cp my.cnf /etc/my.cnf

5、初始化 mysqld

cd /www/server/mysql-5.7.28  
./bin/mysqld --initialize --user=mysql --basedir=/www/server/mysql-5.7.28/ --datadir=/www/server/mysql-5.7.28/data/

如果这里报错如下:

./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

则需要安装 numactl

yum -y install numactl

然后重新执行初始化命令

./bin/mysqld --initialize --user=mysql --basedir=/www/server/mysql-5.7.28/ --datadir=/www/server/mysql-5.7.28/data/

没报错则初始化完成

6、初始化完成之后查看日志

tail -1000f /www/server/mysql-5.7.28/data/mysqld.log  
临时密码  
2019-12-03T08:04:14.600749Z 1 [Note] A temporary password is generated for  
 root@localhost: ynGG!t:Sl3Ns

此处注意,ynGG!t:Sl3Ns 为初始密码,后续登录改密码

7、把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql

8、启动 mysql 服务

service mysql start

9、登录 mysql,密码为初始密码

cd /www/server/mysql-5.7.28  
./bin/mysql -u root -p

这里输入初始密码进入(如我的是:ynGG!t:Sl3Ns)

10、修改密码

mysql> set password=password('123456');  
mysql> grant all privileges on *.* to root@'%' identified by '123456';  
mysql> flush privileges;

11、添加远程访问权限

mysql> use mysql;  
mysql> update user set host='%' where user = 'root';  
mysql> flush privileges;

如果出现以下错误提示,不予理会,继续 flush privileges 刷新权限,重新远程连接 ok
image.png

12、重启 mysql 服务

service mysql stop  
service mysql start  
或  
service mysql restart
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    690 引用 • 535 回帖
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...