签到成功

知道了

CNDBA社区CNDBA社区

Redhat 7.7 平台 MySQL 5.7.33 安装手册(Tar包)

2021-05-05 13:04 2200 0 原创 MySQL
作者: dave

1 查看软件版本

[dave@www.cndba.cn ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)
[dave@www.cndba.cn ~]#

mysql 从官网直接下载:http://www.cndba.cn/dave/article/4509

https://dev.mysql.com/downloads/mysql/

我们这里下载的版本是5.7.33。http://www.cndba.cn/dave/article/4509

http://www.cndba.cn/dave/article/4509
http://www.cndba.cn/dave/article/4509

https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.33-el7-x86_64.tar

http://www.cndba.cn/dave/article/4509

2 卸载之前版本的Mariadb和 MySQL

Linux 系统会默认安装mariadb,所以在安装新版本的MySQL之前需要先卸载之前的版本。

[dave@www.cndba.cn ~]# rpm -qa|grep -i mariadb
mariadb-libs-5.5.64-1.el7.x86_64
[dave@www.cndba.cn ~]# rpm -e --nodeps mariadb-libs
[dave@www.cndba.cn ~]# rpm -qa |grep mysql
[dave@www.cndba.cn ~]#

我这里没有安装MySQL,如果安装了,可以通过如下命令查找并删除:

find / -name mysql
find / -name mysql / 
rm -rf /etc/my.cnf

3 安装mysql依赖包(选做)

因为通过tar包直接解压缩的,如果缺少系统包可能会报错,这步可以选做,等后面报错了在安装。

yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum update libstdc++-4.4.7-4.el6.x86_64
yum search libaio  # 检索相关信息
yum install libaio  # 安装依赖包
yum install net-tools

4 解压mysql 文件到/usr/local/mysql

[dave@www.cndba.cn software]# tar -xvf mysql-5.7.33-el7-x86_64.tar -C /usr/local/
mysql-test-5.7.33-el7-x86_64.tar.gz
mysql-5.7.33-el7-x86_64.tar.gz
[dave@www.cndba.cn software]# cd /usr/local/
[dave@www.cndba.cn local]# tar xzvf mysql-5.7.33-el7-x86_64.tar.gz
[dave@www.cndba.cn local]# ls
bin  games    lib    libexec                  mysql-5.7.33-el7-x86_64.tar.gz       sbin   src
etc  include  lib64  mysql-5.7.33-el7-x86_64  mysql-test-5.7.33-el7-x86_64.tar.gz  share

--解压缩之后重命名文件夹成mysql:
[dave@www.cndba.cn local]# mv mysql-5.7.33-el7-x86_64 mysql
[dave@www.cndba.cn local]# cd mysql/
[dave@www.cndba.cn mysql]# pwd
/usr/local/mysql
[dave@www.cndba.cn mysql]# ls
bin  docs  include  lib  LICENSE  man  README  share  support-files
[dave@www.cndba.cn mysql]#

5 添加系统mysql组和mysql用户并修改权限

[dave@www.cndba.cn mysql]# groupadd mysql
[dave@www.cndba.cn mysql]# useradd -g mysql mysql
[dave@www.cndba.cn mysql]# chown -R mysql:mysql /usr/local/mysql
[dave@www.cndba.cn mysql]#

6 配置my.cnf文件

创建数据文件和log存放目录:http://www.cndba.cn/dave/article/4509

[dave@www.cndba.cn /]# mkdir -p /mysql/data
[dave@www.cndba.cn /]# mkdir -p /mysql/log
[dave@www.cndba.cn /]# chown -R mysql:mysql /mysql


[dave@www.cndba.cn ~]# cat /etc/my.cnf
[mysqld]
# basic settings #
user = mysql
port = 3306
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
autocommit = 1
server-id = 1
character_set_server = utf8mb4
transaction_isolation = READ-COMMITTED
lower_case_table_names = 1
explicit_defaults_for_timestamp = 1
max_allowed_packet = 16777216
event_scheduler = 1
basedir = /usr/local/mysql
datadir = /mysql/data
socket = /tmp/mysql.sock
pid-file = /mysql/data/mysqld.pid

# connection #
interactive_timeout = 1800
wait_timeout = 1800
lock_wait_timeout = 1800
skip_name_resolve = 1
max_connections = 1000
max_connect_errors = 1000000

# table cache performance settings #
table_open_cache = 4096
table_definition_cache = 4096
table_open_cache_instances = 128

# log settings #
log_error = /mysql/log/error.log
slow_query_log_file = /mysql/log/slow.log
log-bin = /mysql/log/mysql-bin
relay_log = mysql-relay-bin
general_log_file = general.log

slow_query_log = 1
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
long_query_time = 1
min_examined_row_limit = 100
binlog-rows-query-log-events = 1
log-bin-trust-function-creators = 1
expire-logs-days = 7
log-slave-updates = 1

# replication settings #
master_info_repository = TABLE
relay_log_info_repository = TABLE
sync_binlog = 1
gtid_mode = on
enforce_gtid_consistency = 1
log_slave_updates
binlog_format = ROW
binlog_rows_query_log_events = 1
relay_log = relay.log
relay_log_recovery = 1
slave_skip_errors = ddl_exist_errors
slave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN'

replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate-ignore-db = sys


[mysqld-5.7]
# new innodb settings #
loose_innodb_numa_interleave = 1
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 16
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G
innodb_purge_rseg_truncate_frequency = 128

# new replication settings #
slave-parallel-type = LOGICAL_CLOCK
slave-parallel-workers = 16
slave_preserve_commit_order = 1
slave_transaction_retries = 128

# other change settings #
binlog_gtid_simple_recovery = 1
log_timestamps = system
show_compatibility_56 = on
[dave@www.cndba.cn ~]#

7 配置环境变量

在/etc/profile文件中,添加如下内容即可http://www.cndba.cn/dave/article/4509http://www.cndba.cn/dave/article/4509

export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH

8 初始化数据库

初始化数据库:http://www.cndba.cn/dave/article/4509

[dave@www.cndba.cn mysql]# pwd
/usr/local/mysql
[dave@www.cndba.cn mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data
2021-05-05T03:46:43.475725Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-05-05T03:46:43.625799Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-05-05T03:46:43.667976Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-05-05T03:46:43.724059Z 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: 8224ceca-ad54-11eb-abdd-000c290296b7.
2021-05-05T03:46:43.724792Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-05-05T03:46:44.435935Z 0 [Warning] CA certificate ca.pem is self signed.
2021-05-05T03:46:44.592063Z 1 [Note] A temporary password is generated for root@localhost: aaiG.r)Kq69P
[dave@www.cndba.cn mysql]#
注意这里第一次执行时会显示root用户的临时密码。后面执行要从error.log 里查看:
2021-05-05T12:45:28.853208+08:00 1 [Note] A temporary password is generated for root@localhost: iYyRo(BG_6Cl

9 配置开机自启动

将服务文件拷贝到init.d下,并重命名为mysqld

[dave@www.cndba.cn ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

修改/etc/init.d/mysqld文件

http://www.cndba.cn/dave/article/4509

[dave@www.cndba.cn ~]# vim /etc/init.d/mysqld
设置basedir和datadir的路径,配置如下:
basedir=/usr/local/mysql
datadir=/mysql/data
[dave@www.cndba.cn ~]# chmod a+x /etc/init.d/mysqld
[dave@www.cndba.cn ~]# chkconfig --add mysqld
[dave@www.cndba.cn ~]# chkconfig --list

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rhnsd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
[dave@www.cndba.cn ~]#

10 启动mysql服务并初始化密码

[dave@www.cndba.cn mysql]# service mysqld start
Starting MySQL. SUCCESS!
[dave@www.cndba.cn mysql]#

[dave@www.cndba.cn ~]# 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.33-log

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

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> alter user 'root'@'localhost' identified by 'root';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[dave@www.cndba.cn ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 5
Server version: 5.7.33-log MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

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> create database cndba;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cndba              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

[dave@www.cndba.cn data]# pwd
/mysql/data
[dave@www.cndba.cn data]# ls
auto.cnf    client-cert.pem  ib_buffer_pool  ib_logfile1  mysqld.pid          public_key.pem   sys
ca-key.pem  client-key.pem   ibdata1         ibtmp1       performance_schema  server-cert.pem
ca.pem      cndba            ib_logfile0     mysql        private_key.pem     server-key.pem
[dave@www.cndba.cn data]#

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2261
    原创
  • 3
    翻译
  • 578
    转载
  • 191
    评论
  • 访问:7972003次
  • 积分:4346
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ