Linux(CentOS 7.5)手动安装Mysql 5.7.28

Linux手动安装mysql5.7.28

一、下载
1.进入到 MySQL 官网下载自己对应版本的MySQL
二、配置环境
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、进入安装包所在目录,解压文件

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  
cp -R mysql-5.7.28 /home/mysql-5.7.28

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  

三、安装数据库
1、创建 data 目录

cd /home/mysql-5.7.28  
mkdir data

2、修改安装目录权限

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

3、创建 my.cnf 文件

cd support-files  
vi my.cnf

文件内容如下:

[mysqld]  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES   
    
basedir = /home/mysql-5.7.28  
datadir = /home/mysql-5.7.28/data  
port = 3306  
socket = /tmp/mysql.sock  
character-set-server=utf8  
# 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.  
    
log-error = /home/mysql-5.7.28/data/mysqld.log  
pid-file = /home/mysql-5.7.28/data/mysqld.pid

4、拷贝my.cnf文件到/etc目录下,如果提示是否覆盖,y

cp my.cnf /etc/my.cnf

5、初始化 mysqld

./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7.28/ --datadir=/home/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

然后继续执行初始化mysqld命令

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

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

tail -1000f /home/mysql-5.7.28/data/mysqld.log  
自动生成的临时密码  
2019-12-19T07:37:27.636655Z 1 [Note] A temporary password is generated for root@localhost: ebHONnAD:6(o

7、设置开机自起MySQL服务
7.1、创建systemctl管理mysql的配置文件命令:

touch /usr/lib/systemd/system/mysql.service

7.2、编辑该配置文件命令

vi /usr/lib/systemd/system/mysql.service

7.3、以下内容添加到配置文件中

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
# 此处注意mysql安装目录
ExecStart=/home/mysql-5.7.28/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false

7.4、启动 MySQL 服务

systemctl start mysql  

7.5、查看MySQL服务状态:

ps -ef | grep mysql

7.6、通过systemctl 来设置mysql开机启动命令:

systemctl enable mysql

8、环境变量配置

vim /etc/profile
#最后一行添加:
export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH
#使修改生效:
source /etc/profile

9、登录 MySQL,密码为初始密码(如我的是:ebHONnAD:6(o)

cd /home/mysql-5.7.28  
./bin/mysql -u root -p

10、修改密码

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

11、Mysql创建用户与授权,限制IP
11.1、创建用户

# CREATE USER ‘用户名’@‘限制的IP地址’ IDENTIFIED BY ‘密码’;
CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';

11.2、授权

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
#GRANT ALL ON *.* TO 'pig'@'%';
FLUSH  PRIVILEGES;						#不重启MySQL服务的情况下直接生效
#privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
#databasename:数据库名
#tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

11.3、设置与更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

11.4、撤销用户权限

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

11.5、删除用户

DROP USER 'username'@'host';

11.6、限制ip访问

use mysql;
update user set host = '127.0.0.1' where user = 'root' and host = '%';
FLUSH  PRIVILEGES;

12、数据库导入(自己备份.sql文件)

mysql> create database lutw;
mysql> use lutw;
mysql> source /home/lutw.sql;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只大耗子。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值