mysql加入安装策略_三种方式安装MySQL5.7(yum / 二进制 / 源码)

本文详细介绍了三种安装MySQL5.7的方法:通过yum安装,二进制安装和源码编译安装。每种方法包括创建用户、下载安装包、配置启动脚本、初始化数据库、设置密码等步骤。同时,针对yum安装,还涉及了修改密码策略和恢复root密码的过程。
摘要由CSDN通过智能技术生成

一、yum方式安装

1.创建专门存放软件安装包的目录

mkdir /server/tools -p

cd /server/tools/

2.使用wget下载官方yum源的rpm包

wget http://repo.mysql.com//mysql57-community-release-el7-8.noarch.rpm

3.安装rpm包

yum -y install mysql57-community-release-el7-8.noarch.rpm

4.使用yum来安装mysql-server

yum -y install mysql-community-server.x86_64

5.启动mysql并加入到开机自启动

systemctl start mysqld

systemctl enable mysqld

netstat -lntup |grep 3306

6.修改root本地登录密码

mysql安装完成后,会在/var/log/mysqld.log文件中给root生成一个默认的登录密码

[root@db01 /]# grep "temporary password" /var/log/mysqld.log

2019-01-14T02:04:55.465890Z 1 [Note] A temporary password is generated for root@localhost: al_gF&9eZUjW

#进入mysql命令行,修改密码为:MyNewPass4!

[root@db01 /]# mysql -uroot -p"al_gF&9eZUjW"

mysql> set password for 'root'@'localhost'=password('MyNewPass4!');

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位

7.修改mysql默认的密码策略

#1.查看系统密码策略

[root@db01 /]# mysql -uroot -pMyNewPass4! -e "show variables like '%password%';" |grep "length"

validate_password_length 8

#2.在/etc/my.cnf配置文件中添加validate_password_policy配置,指定密码策略

[mysqld]

#validate_password_policy=0

#指定密码策略 0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件

validate_password = off #禁用密码策略

#重新启动mysql服务使配置生效:

systemctl restart mysqld

#再次修改mysql密码

[root@db01 /]# mysqladmin -uroot -p password 123456

Enter password: #输入旧密码MyNewPass4!完成更改

默认配置文件路径:

/etc/my.cnf #配置文件

/var/log/mysqld.log #日志文件

/var/run/mysqld/mysqld.pid #socket文件

如果忘记root密码,则按如下操作恢复

#在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。

mysql -u root

update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

flush privileges

2、二进制方式安装

这里用二进制的方式安装MySQL数据库5.7版本

此方法安装会很快

1.yum安装依赖包(直接yum即可)

yum install ncurses-devel libaio-devel -y

2.创建mysql用户,登录方式nologin,不创建家目录

groupadd mysql -g 1002

useradd mysql -u 1002 -g 1002 -s /sbin/nologin -M

3.上传mysql软件,将其解压软件,将其移动到/application目录下,并且修改目录名

mkdir /application

mkdir /server/tools -p

cd /server/tools/

tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.20-linux-glibc2.12-x86_64 /application/mysql-5.7.20

4.创建data和tmp目录,并为mysql主目录创建软连接和错误日志文件

mkdir /application/mysql-5.7.20/data #用于存放数据库数据

mkdir /application/mysql-5.7.20/tmp #用于存放socket文件

ln -s /application/mysql-5.7.20/ /application/mysql

touch /application/mysql-5.7.20/mysql.log

5.使用bin/mysqld命令初始化mysql数据库文件(按照实际路径为准)

#初始化数据库命令

/application/mysql-5.7.20/bin/mysqld --initialize --initialize --user=mysql --basedir=/application/mysql-5.7.20 --datadir=/application/mysql-5.7.20/data

#这里会生成MySQL第一次登录使用的临时密码,需要保存下来

2019-01-13T16:11:48.234884Z 1 [Note] A temporary password is generated for root@localhost: ,rK+/7/AvOF:

参数解释:

--initialize #初始化mysql

--user=mysql #指定mysql用户

--basedir #指定mysql基础目录

--datadir #指定mysql数据存放目录

6.授权mysql用户管理mysql目录

chown -R mysql.mysql /application/mysql-5.7.20

7.配置my.cnf和启动脚本

#1.修改启动脚本内容中的路径

cd /application/mysql/support-files/

sed -i 's#/usr/local#/application/mysql#g' mysql.server

cp mysql.server /etc/init.d/mysqld

#2.配置my.cnf

[root@db01 /]# vim /etc/my.cnf

[mysqld]

basedir=/application/mysql

datadir=/application/mysql/data

socket=/application/mysql/tmp/mysql.sock

character-set-server=utf8

port=3306

server_id=10

log-error=/application/mysql/mysql.log

log-bin=/application/mysql/data/mysql-bin

binlog_format=row

skip_name_resolve

[mysql]

socket=/application/mysql/tmp/mysql.sock

[mysqladmin]

socket=/application/mysql/tmp/mysql.sock

#3.启动mysql

/etc/init.d/mysqld start

netstat -lntup |grep 3306

8.配置环境变量,使其能直接在命令行使用mysql命令

echo 'export "PATH=/application/mysql/bin:$PATH"' >>/etc/profile

source /etc/profile

9.使用初始化密码登录到mysql数据库

mysql -uroot -p,rK+/7/AvOF:

10.修改初始化密码

[root@db01 /]# mysqladmin -uroot -p password 123456

Enter password: #输入旧密码

3、源码方式安装

源码编译 安装MySQL5.7

这里用编译的方式安装MySQL数据库5.7版本

1.安装依赖包(直接yum即可)

安装MySQL之前,最好先安装MySQL的依赖包,不然后面会出现很多报错信息。

yum install ncurses-devel libaio-devel -y

2.安装编译MySQL需要的软件cmake(直接yum即可)

yum install cmake -y

使用cmake来编译MySQL

3.创建MySQL用户

groupadd mysql -g 1002

useradd mysql -u 1002 -g 1002 -s /sbin/nologin -M

MySQL数据必须使用mysql用户和用户组来进行数据的管理

4.MySQL软件包安装

09de7a1dafa86ea27997c684cae04097.png

5.创建软件下载存放目录和软件安装路径

mkdir /server/tools -p

mkdir /application -p

6.将下载好的mysql源码包并上传到/server/tools

cd /server/tools/

ls mysql-5.7.20.tar.gz

7.解压MySQL并编译安装

[root@db01 tools]# tar xf mysql-5.7.20.tar.gz

[root@db01 tools]# cd mysql-5.7.20/

[root@db02 mysql-5.7.20]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.20 \

-DMYSQL_DATADIR=/application/mysql-5.7.20/data \

-DMYSQL_UNIX_ADDR==/application/mysql-5.7.20/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_USER=mysql \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DENABLE_DOWNLOADS=1 \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/local/boost

[root@db01 mysql-5.6.36]# make && make install

编译参数解释:

-DCMAKE_INSTALL_PREFIX #MySQL安装的路径

-DMYSQL_DATADIR #存放MySQL数据的路径

-DMYSQL_UNIX_ADDR #MyQSL启动后的sock存放路径

-DDEFAULT_CHARSET #MySQL数据库中的字符集

-DWITH_BOOST #mysql源码中用到了C++的Boost库

-DENABLE_DOWNLOADS #例如boost路径填/usr/local/boost,它会在这个目录找,找不到就会自己下载到该目录下

MySQL编译安装时间会很久

8.MySQL目录介绍

[root@db01 mysql-5.7.20]# tree -L 1 /application/mysql-5.7.20/

/application/mysql-5.7.20/

├── bin #存放mysql命令

├── COPYING

├── COPYING-test

├── docs #自带帮助文件

├── include

├── lib #lib库

├── man

├── mysql-test

├── README

├── README-test

├── share

└── support-files

9.配置并启动MySQL

#1.创建软连接

[root@db01 /]# ln -s /application/mysql-5.7.20/ /application/mysql

#2.配置/etc/my.cnf(5.7版本默认不自带my.cnf模板文件)

[root@db01 /]#vim /etc/my.cnf

[mysqld]

basedir=/application/mysql

datadir=/application/mysql/data

socket=/application/mysql/tmp/mysql.sock

character-set-server=utf8

port=3306

server_id=10

log-error=/application/mysql/mysql.log

log-bin=/application/mysql/data/mysql-bin

binlog_format=row

skip_name_resolve

[client]

socket=/application/mysql/tmp/mysql.sock

#3.创建/application/mysql/tmp目录用于存放mysql sock文件,并设置mysql目录权限

[root@db01 ~]# mkdir /application/mysql/tmp -p

[root@db01 ~]# chown -R mysql.mysql /application/mysql/

#4.创建错误日志文件

[root@db01 ~]# touch /application/mysql-5.7.20/mysql.log

#5.初始化数据库(所有的初始化信息都保存在mysql日志文件中,包括初始化的root密码)

[root@db01 ~]# mkdir /application/mysql-5.7.20/data

[root@db01 ~]# /application/mysql-5.7.20/bin/mysqld --initialize --user=mysql --basedir=/application/mysql-5.7.20 --datadir=/application/mysql-5.7.20/data

#6.复制mysql启动脚本至/etc/init.d/mysqld,该脚本用于mysql启动,重启以及关闭

[root@db01 ~]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

#7.启动mysql数据库,mysql默认端口为3306

[root@db01 ~]# /etc/init.d/mysqld start

[root@db01 ~]# netstat -lntup |grep 3306

#8.增加mysql环境变量,为了可以直接在命令行执行mysql命令

[root@db01 ~]# echo 'export "PATH=/application/mysql/bin:$PATH"' >>/etc/profile

[root@db01 ~]# tail -1 /etc/profile

[root@db01 ~]# source /etc/profile

[root@db01 ~]# echo $PATH

10、获取root初始化密码,并修改密码为:123456

[root@db01 /]# grep "temporary password" /application/mysql/mysql.log

2019-01-14T03:22:24.841670Z 1 [Note] A temporary password is generated for root@localhost: H#hbzsuPl1/-

[root@db01 /]# mysqladmin -uroot -p password "123456"

Enter password: #输入旧密码进行更改

[root@db01 /]# mysql -uroot -p123456 #输入新密码进入数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值