美文网首页
centos7.6安装mysql5.7.26(二进制)

centos7.6安装mysql5.7.26(二进制)

作者: mo371 | 来源:发表于2019-06-10 15:09 被阅读0次
官方网站:
https://www.mysql.com

软件包下载:从官网下载

官方文档:
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
安装前准备:

# 关闭防火墙、selinux
$ echo -e "\033[31m 1\. 防火墙 Selinux 设置  \033[0m" \
  && service iptables stop \
  && chkconfig iptables off  \
  && setenforce 0 \
  && sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux

# 检查是否安装NySQL,如果安装 卸载之
rpm -qa |grep mysql
yum remove mysql*

# 检查是否安装MariaDB,如果安装 卸载之(重要)
rpm -qa |grep mariadb
yum remove mariadb*
安装过程:
#依赖包:
MySQL依赖于libaio 库。如果未在本地安装此库,则数据目录初始化和后续服务器启动步骤将失败。如有必要,请使用适当的包管理器进行安装
# yum install libaio

#创建用户组、用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

# 解压:
cd /usr/local
tar zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql

[root@node1 local]# cd mysql
[root@node1 mysql]# ls
bin  COPYING  docs  include  lib  man  README  share  support-files

mkdir /usr/local/mysql/{data,binlogs,log,etc,run}
chown -R mysql.mysql /usr/local/mysql/{data,binlogs,log,etc,run}

配置my.cnf文件
[root@node1 ~]# cat /usr/local/mysql/etc/my.cnf 
[client]
port = 3306
socket = /usr/local/mysql/run/mysql.sock

[mysqld]
port = 3306
socket = /usr/local/mysql/run/mysql.sock
pid_file = /usr/local/mysql/run/mysql.pid
datadir = /usr/local/mysql/data
default_storage_engine = InnoDB
max_allowed_packet = 512M
max_connections = 2048
open_files_limit = 65535
#skip-grant-tables
skip-name-resolve
lower_case_table_names=1
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 2048M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 0
key_buffer_size = 64M
log-error = /usr/local/mysql/log/mysql_error.log
log-bin = /usr/local/mysql/binlogs/mysql-bin
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/log/mysql_slow_query.log
long_query_time = 5
tmp_table_size = 32M
max_heap_table_size = 32M
query_cache_type = 0
query_cache_size = 0
server-id=1

# 初始化mysql
bin/mysqld --initialize --user=mysql  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#查看初始化密码
grep 'temporary password' /usr/local/mysql/log/mysql_error.log

2019-06-10T05:25:22.448676Z 1 [Note] A temporary password is generated for root@localhost: w;wiSjezq39C

**由上可知,初****始化的root 密码为****:****wiSjezq39C**

# 开启ssl
bin/mysql_ssl_rsa_setup  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# 启动数据库:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
/etc/init.d/mysql.server start

或者自己写的启动脚本:
cd /usr/lib/systemd/system
touch mysqld.service
shell> cat mysqld.service
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
#
# systemd service file for MySQL forking server#
[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
Type=forking
PIDFile=/usr/local/mysql/run/mysqld.pid
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables#ExecStartPre=/usr/bin/mysqld_pre_systemd
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/run/mysqld.pid $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 65535
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false

加载:
systemctl daemon-reload
systemctl enable mysqld.service
systemctl is-enabled mysqld

启动:
systemctl start mysqld.service

配置PATH:
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profilesource /etc/profile

使环境变量生效
source /etc/profile

登录:
mysql -uroot -p'okrzVsA(u4h6'

修改密码:
set password=password('newpassword');

安全加固
/usr/local/mysql/bin/mysql_secure_installation

将密码写到文件里面,直接键入my就可以登录了
[root@node1 ~]# more /usr/bin/my
mysql -uroot -p'zshj26@1200'

相关文章

网友评论

      本文标题:centos7.6安装mysql5.7.26(二进制)

      本文链接:https://www.haomeiwen.com/subject/koyzxctx.html