MySQL二进制安装

captains 2022-07-11 PM 14954℃ 25条

MySQL二进制安装

1、概述

  • 此次二进制安装是针对Linux操作系统无法使用root权限,只能使用普通用户部署安装MySQL;
  • 本次MySQL二进制安装采用的版本:5.7.37

2、环境

  • 操作系统为centos7.x
  • 安装必要的依赖包,此项由管理员安装,提前让管理员安装以下依赖包

    $ yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel perl perl-Data-Dumper libaio -y

3、登陆服务器

  • 使用普通账户 mysql
  • 所有数据操作都将存在/home/mysql下,或有mysql账户权限的目录;

4、创建数据目录

# 创建数据目录
$ pwd
/home/mysql
$ mkdir hdata/mysql_data/{data,logs} -p

# 创建MySQL软件存放目录
$ pwd
/home/mysql
$ mkdir software/{src,mysql} -p

5、下载MySQL二进制包

  • 登陆MySQL官网下载通用版mysql 5.7.37

    网址
    https://downloads.mysql.com/archives/community/

image-20220707105527729

6、解压安装包

# 解压
$ pwd
/home/mysql
$ cd software/src
$ tar xf mysql-5.7.37-linux-glibc2.12-x86_64.tar
$ mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql
$ mv mysql ../

7、创建MySQL配置文件

# 创建mysql配置文件
$ cd software/mysql
$ mkdir conf
$ vi my.cnf
[client]
port = 3308
socket = /tmp/mysql.sock
[mysqld]
port = 3308
user = mysql
character-set-server = utf8
default_storage_engine = innodb
log_timestamps = SYSTEM
basedir = /home/mysql/software/mysql
datadir=/home/mysql/hdata/mysql_data/data
max_connections = 5000
max_connect_errors = 1000
table_open_cache = 1024
max_allowed_packet = 128M
open_files_limit = 65535
socket=/tmp/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
binlog_format  = MIXED
query_cache_size = 128M
query_cache_limit = 4M
sort_buffer_size = 16M
join_buffer_size = 16M
wait_timeout=31536000
interactive_timeout=31536000

innodb_buffer_pool_size = 1024M
innodb_file_per_table = 1
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
innodb_max_dirty_pages_pct = 80
innodb_rollback_on_timeout = on
innodb_lock_wait_timeout = 28800
innodb_data_file_path=ibdata1:1024M:autoextend
innodb_undo_tablespaces=3
lower_case_table_names = 1
slow_query_log = 1
long_query_time = 3
log-queries-not-using-indexes
slow_query_log_file =/home/mysql/hdata/mysql_data/logs/mysql-slow.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/home/mysql/hdata/mysql_data/logs/mysqld.log
pid-file=/tmp/mysqld.pid

8、初始化MySQL

$ cd software/mysql
$ ./bin/mysqld --defaults-file=/home/mysql/software/mysql/conf/my.cnf --initialize --user=mysql --basedir=/home/mysql/software/mysql --datadir=/home/mysql/hdata/mysql_data/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp

image-20220707110809205

  • 初始化完后mysql密码记得保存

9、启动MySQL

  • 因无root权限,用普通账户启动mysql

    $ cd software/mysql/bin
    $ nohup ./mysqld --defaults-file=/home/mysql/software/mysql/conf/my.cnf --user=mysql --basedir=/home/mysql/software/mysql --datadir=/home/mysql/hdata/mysql_data/data &

10、登陆并设置MySQL

# 登陆MySQL
$ cd software/mysql/bin
# 密码是刚才初始化记录的密码
$ ./mysql -uroot -p -P3308
# 更新MySQL账户密码
mysql> set password for 'root'@'localhost'=password('1qaz@WSX3edc');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1qaz@WSX3edc' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

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

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit
Bye
  • 此次MySQL二进制安装完成
标签: MYSQL

非特殊说明,本博所有文章均为博主原创。

评论啦~