1 查看软件版本
[dave@www.cndba.cn ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)
[dave@www.cndba.cn ~]#
mysql 从官网直接下载:
我们这里下载的版本是5.7.33。
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.33-el7-x86_64.tar
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存放目录:
[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文件中,添加如下内容即可
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
8 初始化数据库
初始化数据库:
[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文件
[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]#
版权声明:本文为博主原创文章,未经博主允许不得转载。