前言:
环境准备需要先rpm部署随后二进制部署方可完成
第一部分:rpm部署
大致内容为下载mysql的tar包资源随后上传到虚拟机上面进行解压部署
一、下载mysql的依赖文件
yum install -y libaio
yum -y install net-tools
二、将下载好mysql的tar包上传至虚拟机、解压
三、安装解压后的文件
这里用到的命令为rpm -ivh
需要注意的地方有
这些文件必须逐个安装,安装过程中可能出现依赖警告需解决
四、安装完之后进行查看
whereis mysql
mysql --version
rpm -qa|grep mysql
五、服务初始化
mysqld --initialize --user=mysql
随后使用命令systemctl start mysqld 启动服务
六、登录mysql修改密码
mysql -p 第一次登陆默认不需要密码
进入之后 alter user 'root'@'localhost' identified by '你的密码';
刷新权限 flush privileges;
exit退出 随后使用新密码进行登录
第二部分 二进制部署
一、下载与rpm部署不同的mysql的tar包随后进行上传
二、将上传的tar包解压到/user/local 目录下面
tar -zxvf mysql.... -C /user/local
三、给二进制部署的mysql进行环境准备
mkdir -p /data/mysql/{data,log,binlog,conf,tmp}
chown -R mysql.mysql /data/mysql
四、配置mysql
su - mysql
vim
/data/mysql/conf/my
.cnf
############将下文内容复制至my.cnf 里
[mysqld]
lower_case_table_names = 1
user = mysql
server_id = 1
port = 3306
default-
time
-zone =
'+08:00'
enforce_gtid_consistency = ON
gtid_mode = ON
binlog_checksum = none
default_authentication_plugin = mysql_native_password
datadir =
/data/mysql/data
pid-
file
=
/data/mysql/tmp/mysqld
.pid
socket =
/data/mysql/tmp/mysqld
.sock
tmpdir =
/data/mysql/tmp/
skip-name-resolve = ON
open_files_limit = 65535
table_open_cache = 2000
#################innodb########################
innodb_data_home_dir =
/data/mysql/data
innodb_data_file_path = ibdata1:512M;ibdata2:512M:autoextend
innodb_buffer_pool_size = 12000M
innodb_flush_log_at_trx_commit = 1
innodb_io_capacity = 600
innodb_lock_wait_timeout = 120
innodb_log_buffer_size = 8M
innodb_log_file_size = 200M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 85
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_thread_concurrency = 32
innodb_file_per_table
innodb_rollback_on_timeout
innodb_undo_directory =
/data/mysql/data
innodb_log_group_home_dir =
/data/mysql/data
###################session###########################
join_buffer_size = 8M
key_buffer_size = 256M
bulk_insert_buffer_size = 8M
max_heap_table_size = 96M
tmp_table_size = 96M
read_buffer_size = 8M
sort_buffer_size = 2M
max_allowed_packet = 64M
read_rnd_buffer_size = 32M
############log set###################
log-error =
/data/mysql/log/mysqld
.err
log-bin =
/data/mysql/binlog/binlog
log_bin_index =
/data/mysql/binlog/binlog
.index
max_binlog_size = 500M
slow_query_log_file =
/data/mysql/log/slow
.log
slow_query_log = 1
long_query_time = 10
log_queries_not_using_indexes = ON
log_throttle_queries_not_using_indexes = 10
log_slow_admin_statements = ON
log_output = FILE,TABLE
master_info_file =
/data/mysql/binlog/master
.info
这里需要注意的地方有port端口 不能与rpm部署的mysql端口冲突
设定innodb_buffer_pool_size的内存不能大于机身本身的剩余内存
五、初始化mysql
/user/local/mysql/bin/mysqld --defaults-
file
=
/data/mysql/conf/my
.cnf --initialize-insecure --user=mysql
这里注意使用的必须是绝对路径
六、启动mysql
/user/local/mysql/bin/mysqld_safe --defaults-
file
=
/data/mysql/conf/my
.cnf &
此时可以复制另一台窗口进行查看实时日志 tail -100f /data/mysql/log/mysqld.err
七、登录mysql
这里注意i使用的必须是绝对路径 或者进入到/user/local/mysql/bin目录下
-S 指定 /data/mysql/tmp/mysqld.sock