二进制安装mysql5.7_MYSQL二进制5.7.安装

一、下载MySQL二进制软件包

官网MySQL有四个版本:GA版、DMR版、RC版、Beta版。一般生产和测试环境使用GA版(常规可用的版本,经过bug修复测试)

二、安装前系统环境检测

1、SELinux和系统防火墙iptables需要关闭

2、I/O调度系统默认是cfq模式,强烈建议使用deadline模式

cat /sys/block/sda/queue/scheduler

#cfq完全公平队列;noop电梯式调度;deadline截止时间调度

3、swap分区的设置

不分配swap或分配4GB的swap

swappiness控制如何使用swap分区,0表示最大限度使用物理内存,然后才使用swap,可能导致内存溢出,导致MySQL被意外kill掉;100,积极使用swap,把内存数据及时搬到swap,不建议

cat /proc/sys/vm/swappiness

编辑/etc/sysctl.conf 加入vm.swappiess的值

4、文件系统的选择 [xfs]

5、操作系统限制

ulinit -a

open files和max user processes,建议均设置为65535

vim /etc/security/limits.conf

*soft nproc 65535

*hard nproc 65535

*soft nofile 65535

*hard nofile 65535

6、numa需要关闭

numa --interleave=all /usr/local/mysql/bin/mysqld_safe -defaults-file=/etc/my.cnf &

关闭numa,可以更好地分配内存,不需要采用swap的方式来获取内存

可以在BIOS、操作系统或者在数据库启动过程中关闭

yum install numactl

numastat -H 、lscpu

三、开始进行安装

1、对下载下来的软件包进行MD5校验,确保下载过程中没有任何的问题

[root@wjq1 Packages]# md5sum mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

075dccd655e090ca999e2c8da3b67eb7mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

2、创建用户和组

[root@wjq1 Packages]# groupadd mysql

[root@wjq1 Packages]# useradd -g mysql mysql -s /sbin/nologin

3、将软件包移到/usr/local目录下

[root@wjq1 Packages]# mv mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz /usr/local/

4、解压mysql软件包

[root@wjq1 Packages]# cd /usr/local/

[root@wjq1 local]# tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

5、创建软连接,方便日后升级

[root@wjq1 local]# ln -s mysql-5.7.24-linux-glibc2.12-x86_64 mysql

6、创建mysql相关的目录并修改权限

[root@wjq1 ~]# mkdir -p /data/mysql/3306/{data,log,tmp}

[root@wjq1 ~]# chown -R mysql:mysql /usr/local/mysql

[root@wjq1 ~]# chown -R mysql:mysql /data/mysql/

7、编辑mysql的配置文件

[root@wjq1 ~]# vim /etc/my.cnf

[client]

port=3306

socket=/tmp/mysql3306.sock

[mysql]

prompt=\\U [\\d]>

[mysqld]

user=mysql

basedir =/usr/local/mysql

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

character_set_server =utf8mb4

datadir=/data/mysql/3306/data

port=3306

server_id=330610

socket=/tmp/mysql3306.sock

log-output=file

slow_query_log =1

long_query_time =1

slow_query_log_file =/data/mysql/3306/log/slow.log

log-error =/data/mysql/3306/log/error.log

pid-file =/data/mysql/3306/tmp/mysql3306.pid

binlog_format =mixed

log-bin =/data/mysql/3306/log/mysql3306.bin

#gtid-mode = ON

#enforce-gtid-consistency = ON

#log-slave-updates = ON

8、初始化数据库

[root@wjq1 ~]# cd /usr/local/mysql/bin/

[root@wjq1 bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data --user=mysql --initialize

#--initialize参数,生成一个临时数据库初始密码,记录在log-error里面

9、启动数据库

[root@wjq1 bin]# ./mysqld_safe --defaults-file=/etc/my.cnf &

[1]7481

[root@wjq1 bin]# 2018-11-05T07:10:36.482523Z mysqld_safe Logging to '/data/mysql/3306/log/error.log'.

2018-11-05T07:10:36.511901Zmysqld_safe Startingmysqld daemon withdatabases from/data/mysql/3306/data

10、验证是否启动成功

[root@wjq1 bin]# netstat -tuplan | grep mysqld

tcp6 00:::3306:::*LISTEN 7739/mysqld

11、修改root用户的密码

[root@wjq1 ~]# cat /data/mysql/3306/log/error.log | grep password

2018-11-05T07:10:19.979308Z1[Note]A temporary password isgenerated forroot@localhost:F?IJVgCaa1h4

[root@wjq1 bin]# ./mysql -u root -p

Enterpassword:

Welcometo the MySQLmonitor.Commandsendwith;or\g.

YourMySQLconnection id is2

Serverversion:5.7.24-log

Copyright(c)2000,2018,Oracleand/orits affiliates.Allrights reserved.

Oracleisa registered trademark of OracleCorporationand/orits

affiliates.Othernames may be trademarks of their respective

owners.

Type'help;'or'\h'forhelp.Type'\c'to clear the current input statement.

root [(none)]>selectuser,host frommysql.user;

ERROR 1820(HY000):Youmust reset your password usingALTER USER statement before executing thisstatement.

root [(none)]>setpassword='XXXX@2019';

QueryOK,0rows affected (0.00sec)

四、MySQL数据库root密码丢失的问题

(1)kill掉mysql进程(共两个进程)

(2)重启mysql:./mysqld_safe –defaults-file=/etc/my.cnf –skip-grant-tables &

(3)连接到mysql

(4)设置新的密码并刷新权限

use mysql

update user set authentication_string=password(‘root123′) where user=’root’;

flush privileges;

(5)重启数据库

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值