iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >RHEL 7.2如何安装二进制MySQL 5.7.18
  • 844
分享到

RHEL 7.2如何安装二进制MySQL 5.7.18

2024-04-02 19:04:59 844人浏览 安东尼
摘要

这篇文章给大家分享的是有关RHEL 7.2如何安装二进制Mysql 5.7.18的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。环境:Red Hat Enterprise linu

这篇文章给大家分享的是有关RHEL 7.2如何安装二进制Mysql 5.7.18的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

环境:

Red Hat Enterprise linux Server release 7.2 (Maipo)

mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

安装需求:

libaio

Mysql 5.7.19 and later 需要安装libnuma,由于本次测试为5.7.18,不需要安装libnuma.

如之前安装过MySQL,清除一下目录和文件

/etc/my.cnf or the /etc/mysql

rhel7以后需要取消RemoveIPC限制

[root@rhelb mysql]# vi /etc/systemd/logind.conf

#RemoveIPC=yes -> RemoveIPC=no

检查软件包是否安装

[root@rhelb mysql]# rpm -qa | grep libaio

关闭防火墙

[root@rhelb yum.repos.d]# vi /etc/sysconfig/selinux 

SELINUX=enforcing-> SELINUX=disabled

关闭系统THP,rhel7以后和之前关闭THP文件有变化,rhel7及以后关闭方式如下:

[root@rhelb yum.repos.d]# cat /sys/kernel/mm/transparent_hugepage/enabled 

[always] madvise never

在quiet后添加 transparent_hugepage=never

[root@rhelb yum.repos.d]# cat /etc/default/grub 

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet transparent_hugepage=never"

GRUB_DISABLE_RECOVERY="true"

添加后重启主机

[root@rhelb yum.repos.d]# cat /sys/kernel/mm/transparent_hugepage/enabled 

always madvise [never]

配置yum源,rhel7以后,新建一个新的yum资料库

[root@rhelb mysql]# mount /dev/sr0 /mnt

[root@rhelb yum.repos.d]# ls -lrt

total 8

-rw-r--r--. 1 root root  91 Aug 16 23:11 rhel.repo

-rw-r--r--. 1 root root 358 Aug 16 23:12 redhat.repo

[root@rhelb yum.repos.d]# more /etc/yum.repos.d/rhel.repo 

[rhel7_server]

name=added from: file:///rhel7/dvd

baseurl=file:///mnt

enabled=1

gpGCheck=0

安装软件包:

[root@rhelb mysql]# yum -y install libaio.x86_64

......

Installed:

  libaio.x86_64 0:0.3.109-13.el7                                                                                                    

Complete!

MySQL二进制目录说明:

DirectoryContents of Directory
binmysqld server, client and utility programs
docsMySQL manual in Info fORMat
manUnix manual pages
includeInclude (header) files
libLibraries
shareError messages, dictionary, and SQL for database installation
support-filesMiscellaneous support files

解压软件:

[root@rhelb soft]# tar -xzvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 

[root@rhelb soft]# mv mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql

创建相关用户:

[root@rhelb mysql]# groupadd mysql

[root@rhelb mysql]# useradd -r -g mysql -s /bin/false mysql

[root@rhelb mysql]# cd /usr/local

[root@rhelb local]# mkdir /data

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

[root@rhelb local]# chown -R mysql:mysql /data/

[root@rhelb local]# chmod 750 /data/

初始化数据库

查看mysqld参数:

root@rhelb mysql]# bin/mysqld --verbose --help |more

mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 2 - No such file or directory)

bin/mysqld  Ver 5.7.18 for linux-glibc2.5 on x86_64 (MySQL CommUnity Server (GPL))

Copyright (c) 2000, 2017, oracle and/or its affiliates. All rights reserved.

Oracle is a reGIStered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Starts the MySQL database server.

Usage: bin/mysqld [OPTIONS]

Default options are read from the following files in the given order:

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 

The following groups are read: mysqld server mysqld-5.7

The following options may be given as the first argument:

......

[root@rhelb mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/data/ --datadir=/data/

2018-08-21T09:11:34.367385Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2018-08-21T09:11:34.367604Z 0 [ERROR] Can't find error-message file '/data/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.

2018-08-21T09:11:34.632615Z 0 [Warning] InnoDB: New log files created, LSN=45790

2018-08-21T09:11:34.705037Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2018-08-21T09:11:34.997455Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 33b8197c-a522-11e8-83a6-080027073030.

2018-08-21T09:11:35.001885Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2018-08-21T09:11:35.004186Z 1 [Note] A temporary passWord is generated for root@localhost: kdivr2ax2P,K

root初始化密码kdivr2ax2P,K

[root@rhelb mysql]# ls -lrt /data/

total 110628

-rw-r----- 1 mysql mysql 50331648 Aug 21 05:11 ib_logfile1

-rw-r----- 1 mysql mysql       56 Aug 21 05:11 auto.cnf

drwxr-x--- 2 mysql mysql     8192 Aug 21 05:11 performance_schema

drwxr-x--- 2 mysql mysql     4096 Aug 21 05:11 mysql

drwxr-x--- 2 mysql mysql     8192 Aug 21 05:11 sys

-rw-r----- 1 mysql mysql      419 Aug 21 05:11 ib_buffer_pool

-rw-r----- 1 mysql mysql 50331648 Aug 21 05:11 ib_logfile0

-rw-r----- 1 mysql mysql 12582912 Aug 21 05:11 ibdata1

配置ssl,会话安全方面考虑,如不需要可以不配置

[root@rhelb mysql]# bin/mysql_ssl_rsa_setup

Generating a 2048 bit RSA private key

.................................+++

...+++

writing new private key to 'ca-key.pem'

-----

Generating a 2048 bit RSA private key

..........................................................................+++

.+++

writing new private key to 'server-key.pem'

-----

Generating a 2048 bit RSA private key

..............................+++

..................................................................+++

writing new private key to 'client-key.pem'

配置参数文件,如果不配置[client]客户端连接时提示/tmp/Socket.sock

[root@rhelb etc]# vi /etc/my.cnf

[mysqld]

port = 3306

pid-file = /data/mysql3306.pid

datadir = /data/

socket = /data/mysql3306.sock

slow_query_log_file = /data/slow.log

log-error = /data/error.log

[client]

socket = /data/mysql3306.sock   

MySQL取消安全隐患:

 a)为root用户设置密码
  b)删除匿名账号
  c)取消root用户远程登录
  d)删除test库和对test库的访问权限
  e)刷新授权表使修改生效

root@rhelb mysql]# bin/mysql_secure_installation 

Securing the MySQL Server deployment.

Enter password for user root: 

Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

[root@rhelb mysql]# bin/mysql_secure_installation -S /data/mysql3306.sock

Securing the MySQL server deployment.

Enter password for user root: 

Error: Access denied for user 'root'@'localhost' (using password: NO)

[root@rhelb mysql]# bin/mysql_secure_installation -S /data/mysql3306.sock

Securing the MySQL server deployment.

Enter password for user root:       <<——日志中临时生成的密码

The existing password for the user account root has expired. Please set a new password.

New password: 

Re-enter new password: 

VALIDATE PASSWORD PLUGIN can be used to test passwords

and improve security. It checks the strength of password

and allows the users to set only those passwords which are

secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8

MEDIUM Length >= 8, numeric, mixed case, and special characters

STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Using existing password for root.

Estimated strength of the password: 100 

Change the password for root ? ((Press y|Y for Yes, any other key for No) :    

 ... skipping.

By default, a MySQL installation has an anonymous user,

allowing anyone to log into MySQL without having to have

a user account created for them. This is intended only for

testing, and to make the installation Go a bit smoother.

You should remove them before moving into a production

environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y

Success.

Normally, root should only be allowed to connect from

'localhost'. This ensures that someone cannot guess at

the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y

Success.

By default, MySQL comes with a database named 'test' that

anyone can access. This is also intended only for testing,

and should be removed before moving into a production

environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y

 - Dropping test database...

Success.

 - Removing privileges on test database...

Success.

Reloading the privilege tables will ensure that all changes

made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Success.

All done! 


配置服务启动:

[root@rhelb mysql]# cp support-files/mysql.server /etc/init.d/

[root@rhelb mysql]# service mysql.server start

Starting MySQL. SUCCESS! 

[root@rhelb mysql]# ps -ef | grep mysql

root      3486     1  0 05:51 pts/2    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/ --pid-file=/data/mysql3306.pid

mysql     3653  3486  6 05:51 pts/2    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/error.log --pid-file=/data/mysql3306.pid --socket=/data/mysql3306.sock --port=3306

root      3685  2711  0 05:51 pts/2    00:00:00 grep --color=auto mysql

[root@rhelb etc]# mysql -uroot -p

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.18 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

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

mysql> status;

--------------

mysql  Ver 14.14 Distrib 5.7.18, for linux-glibc2.5 (x86_64) using  EditLine wrapper

Connection id:          4

Current database:

Current user:           root@localhost

SSL:                    Not in use

Current pager:          stdout

Using outfile:          ''

Using delimiter:        ;

Server version:         5.7.18 MySQL Community Server (GPL)

Protocol version:       10

Connection:             Localhost via UNIX socket

Server characterset:    latin1

Db     characterset:    latin1

Client characterset:    utf8

Conn.  characterset:    utf8

UNIX socket:            /data/mysql3306.sock

Uptime:                 12 sec

Threads: 1  Questions: 6  Slow queries: 0  Opens: 105  Flush tables: 1  Open tables: 98  Queries per second avg: 0.500

感谢各位的阅读!关于“RHEL 7.2如何安装二进制MySQL 5.7.18”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: RHEL 7.2如何安装二进制MySQL 5.7.18

本文链接: https://www.lsjlt.com/news/62597.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么查询当前用户所有的表
    要查询当前用户拥有的所有表,可以使用以下 sql 命令:select * from user_tables; 如何查询当前用户拥有的所有表 要查询当前用户拥有的所有表,可以使...
    99+
    2024-05-14
    oracle
  • oracle怎么备份表中数据
    oracle 表数据备份的方法包括:导出数据 (exp):将表数据导出到外部文件。导入数据 (imp):将导出文件中的数据导入表中。用户管理的备份 (umr):允许用户控制备份和恢复过程...
    99+
    2024-05-14
    oracle
  • oracle怎么做到数据实时备份
    oracle 实时备份通过持续保持数据库和事务日志的副本来实现数据保护,提供快速恢复。实现机制主要包括归档重做日志和 asm 卷管理系统。它最小化数据丢失、加快恢复时间、消除手动备份任务...
    99+
    2024-05-14
    oracle 数据丢失
  • oracle怎么查询所有的表空间
    要查询 oracle 中的所有表空间,可以使用 sql 语句 "select tablespace_name from dba_tablespaces",其中 dba_tabl...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限设置
    答案:要创建 oracle 新用户,请执行以下步骤:以具有 create user 权限的用户身份登录;在 sql*plus 窗口中输入 create user identified ...
    99+
    2024-05-14
    oracle
  • oracle怎么建立新用户
    在 oracle 数据库中创建用户的方法:使用 sql*plus 连接数据库;使用 create user 语法创建新用户;根据用户需要授予权限;注销并重新登录以使更改生效。 如何在 ...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限密码
    本教程详细介绍了如何使用 oracle 创建一个新用户并授予其权限:创建新用户并设置密码。授予对特定表的读写权限。授予创建序列的权限。根据需要授予其他权限。 如何使用 Oracle 创...
    99+
    2024-05-14
    oracle
  • oracle怎么查询时间段内的数据记录表
    在 oracle 数据库中查询指定时间段内的数据记录表,可以使用 between 操作符,用于比较日期或时间的范围。语法:select * from table_name wh...
    99+
    2024-05-14
    oracle
  • oracle怎么查看表的分区
    问题:如何查看 oracle 表的分区?步骤:查询数据字典视图 all_tab_partitions,指定表名。结果显示分区名称、上边界值和下边界值。 如何查看 Oracle 表的分区...
    99+
    2024-05-14
    oracle
  • oracle怎么导入dump文件
    要导入 dump 文件,请先停止 oracle 服务,然后使用 impdp 命令。步骤包括:停止 oracle 数据库服务。导航到 oracle 数据泵工具目录。使用 impdp 命令导...
    99+
    2024-05-14
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作