centos6.5安装5.7.9mysql-详细教程

条件:具备mysql用户

一、切换root 用户
//查看mysql是否安装,若安装则需要卸载

rpm -qa | grep mysql
rpm -e --nodeps XXXX
//安装四个包
rpm -ivh mysql-community-common-5.7.9-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.9-1.el6.x86_64.rpm --(依赖于common)
rpm -ivh mysql-community-client-5.7.9-1.el6.x86_64.rpm --(依赖于libs)
rpm -ivh mysql-community-server-5.7.9-1.el6.x86_64.rpm --(依赖于client、common)

//修改/etc/passwd文件,将false改为bash

mysql❌27:27:MySQL Server:/var/lib/mysql:/bin/false
修改为
mysql❌27:27:MySQL Server:/var/lib/mysql:/bin/bash

//新建 /app/mydata目录

mkdir /app/mydata

//修改文件夹的用户组和用户

chown -R mysql:mysql /app/mydata
chown mysql:mysql /var/log/mysqld.log

二、切换mysql用户
//初始化数据库

mysqld --initialize --user=mysql --datadir=/app/mydata(简单配置文件方式)
或者
mysqld --initialize --user=mysql --datadir=/app/mydata --innodb_undo_tablespaces=3 --innodb_undo_directory=/app/mydata/undolog(复杂配置文件方式,不需要提前新建undolog文件夹)

《简单配置文件方式》如下:
//拷贝/etc/my.cnf到/home/mysql/mydata目录下,修改其中路径如下

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M**
datadir=/app/mydata
socket=/app/mydata/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks**
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/app/mydata/mysqld.pid

《复杂配置文件方式》如下:

[mysqld]
########basic settings########
server-id = 101
port = 3309
socket = /app/mydata/mysql.sock
user = mysql
federated
character_set_server=utf8
skip-external-locking
skip_name_resolve = 1
lower-case-table-names=1
event_scheduler = ON
max_connections = 4096
max_connect_errors = 1000
datadir = /app/mydata
transaction_isolation = READ-COMMITTED
explicit_defaults_for_timestamp = 1
join_buffer_size = 8M
tmp_table_size = 67108864
tmpdir = /app/mydata/tmpdir
max_allowed_packet = 167772160
read_buffer_size = 8M
read_rnd_buffer_size = 16M
sort_buffer_size = 8m
default_password_lifetime=0

ignore_db_dir = redolog
ignore_db_dir = undolog
ignore_db_dir = binlog
ignore_db_dir = tmpdir
ignore_db_dir = lost+found
log_bin_trust_function_creators=1
slave_parallel_type = LOGICAL_CLOCK
sql_mode =“STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
#interactive_timeout = 1800
#wait_timeout = 1800
#autocommit = 0

########log settings########
log_error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
log_slow_admin_statements = 1
log_slow_slave_statements = 1
expire_logs_days = 7
long_query_time = 1
#log_throttle_queries_not_using_indexes = 10
#log_queries_not_using_indexes = 1
#min_examined_row_limit = 100

########replication settings########
master_info_repository = TABLE
relay_log_info_repository = TABLE
log-bin = /app/mydata/binlog/mysql-bin
sync_binlog = 1
max_binlog_size = 536870912
gtid_mode = on
enforce_gtid_consistency = 1
log_slave_updates
binlog_format = row
relay_log = relay.log
relay_log_recovery = 1
binlog_gtid_simple_recovery = 1
#binlog-ignore-db=mysql
#replicate-ignore-db=mysql
#binlog-ignore-db=mysql
#binlog-ignore-db=esbclogdb
#replicate-ignore-db=mysql
#replicate-ignore-db=esbclogdb
slave_skip_errors = 1032
slave_parallel_workers=4
#slave_skip_errors = 1032,ddl_exist_errors

########innodb settings########
innodb_buffer_pool_size = 20G
innodb_buffer_pool_instances = 4
innodb_lock_wait_timeout = 20
innodb_io_capacity = 2000
innodb_flush_method = O_DIRECT
innodb_log_group_home_dir = /app/mydata/redolog
innodb_undo_directory = /app/mydata/undolog
innodb_undo_logs = 128
innodb_undo_tablespaces = 3
innodb_log_file_size = 512M
innodb_log_buffer_size = 10M
innodb_sync_spin_loops = 100
innodb_spin_wait_delay = 30
innodb_purge_threads = 4
innodb_large_prefix = 1
innodb_print_all_deadlocks = 1
innodb_stats_on_metadata=off
innodb_file_per_table=true
#innodb_page_size = 8192
#innodb_lru_scan_depth = 2000
#innodb_io_capacity_max = 8000
#innodb_buffer_pool_load_at_startup = 1
#innodb_buffer_pool_dump_at_shutdown = 1
#innodb_flush_neighbors = 1
#innodb_file_format = Barracuda
#innodb_file_format_max = Barracuda
#innodb_strict_mode = 1
#innodb_sort_buffer_size = 67108864
#innodb_thread_concurrency = 64

########semi sync replication settings########
#plugin_dir=/usr/local/mysql/lib/plugin
#plugin_load = “rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so”
#loose_rpl_semi_sync_master_enabled = 1
#loose_rpl_semi_sync_slave_enabled = 1
#loose_rpl_semi_sync_master_timeout = 5000

#[mysqld-5.7]
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G
innodb_purge_rseg_truncate_frequency = 128
binlog_gtid_simple_recovery=1
log_timestamps=system
#transaction_write_set_extraction=MURMUR32
show_compatibility_56=on
innodb_numa_interleave = 1

// 新建文件夹

mkdir /app/mydata/redolog
mkdir /app/mydata/binlog
mkdir /app/mydata/tmpdir

// 使用自定义的配置文件启动mysql

nohup mysqld_safe --defaults-file=/app/mydata/my.cnf &
或者
nohup /usr/bin/mysqld_safe --defaults-file=/app/mydata/my.cnf --user=mysql >/dev/null 2>&1 &

// 获取生成的随机密码

grep ‘temporary password’ /var/log/mysqld.log
jhazU-Ub80z

//使用随机密码登陆mysql

mysql --socket=’/app/mydata/mysql.sock’ -uroot -p’>jhazU-Ub80z’

//修改密码

set password=password(‘root’);
grant all privileges on . to ‘root’@’%’ identified by ‘root’
flush privileges

//重新登录

mysql --socket=/app/mydata/mysql.sock -uroot -proot

注意:如果配置文件中设置的socket路径是默认的设置:/var/lib/mysql.socket,登录的时候就不需要 --socket=’/home/mysql/mydata/mysql.sock’,直接mysql -uroot -proot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值