1. 添加用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
2.创建目录
mkdir -p /mysql/server
mkdir -p /mysql/{my3306,my3307}/log/{binlog,iblog}
mkdir -p /mysql/{my3306,my3307}/data
mkdir -p /mysql/{my3306,my3307}/tmp
chown -R mysql:mysql /mysql
chown root:root /mysql/
chown -R root:root /mysql/server
chmod 777 /mysql
3.下载MySQL二进制包
cd /tmp
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
tar xvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
cd mysql-5.6.35-linux-glibc2.5-x86_64
cp -R * /mysql/server
4.配置环境变量和启动文件(可选)
在~/.bash_profle里面添加
MYSQL_HOME=/mysql/server
PATH=$PATH:$MYSQL_HOME/bin
export PATH
在~下新增三个shell文件并给他们+x可执行权限
start_mysql_3306.sh
cd $MYSQL_HOME
./bin/mysqld_safe --defaults-file=/mysql/my3306.cnf --user=mysql &
stop_mysql_3306.sh
cd $MYSQL_HOME
./bin/mysqladmin -S /mysql/my3306/mysql.sock shutdown
login_mysql_3306.sh
cd $MYSQL_HOME
./bin/mysql -S /mysql/my3306/mysql.sock
cd ~
chmod +x *.sh
5.配置启动参数文件
在/mysql下新建my3306.cnf
cd /mysql
vi my3306.cnf
[client]
port=3306
socket=/mysql/my3306/mysql.sock
[mysql]
pid_file=/mysql/my3306/mysql.pid
[mysqld]
autocommit=1
general_log=on
explicit_defaults_for_timestamp=true
# system
basedir=/mysql/server
datadir=/mysql/my3306/data
max_allowed_packet=1g
max_connections=3000
max_user_connections=2800
open_files_limit=65535
pid_file=/mysql/my3306/mysql.pid
port=3306
server_id=101
skip_name_resolve=ON
socket=/mysql/my3306/mysql.sock
tmpdir=/mysql/my3306/tmp
#binlog
log_bin=/mysql/my3306/log/binlog/log-bin
binlog_cache_size=32768
binlog_format=row
expire_logs_days=7
log_slave_updates=ON
max_binlog_cache_size=2147483648
max_binlog_size=524288000
sync_binlog=100
#logging
log_error=/mysql/my3306/log/error.log
slow_query_log_file=/mysql/my3306/log/slow.log
log_queries_not_using_indexes=0
slow_query_log=1
log_slave_updates=ON
log_slow_admin_statements=1
long_query_time=1
#relay
relay_log=/mysql/my3306/log/relaylog
relay_log_index=/mysql/my3306/log/relay.index
relay_log_info_file=/mysql/my3306/log/relay-log.info
#slave
slave_load_tmpdir=/mysql/my3306/tmp
slave_skip_errors=OFF
#innodb
innodb_data_home_dir=/mysql/my3306/log/iblog
innodb_log_group_home_dir=/mysql/my3306/log/iblog
innodb_adaptive_flushing=ON
innodb_adaptive_hash_index=ON
innodb_autoinc_lock_mode=1
innodb_buffer_pool_instances=8
#default
innodb_change_buffering=inserts
innodb_checksums=ON
innodb_buffer_pool_size= 128M
innodb_data_file_path=ibdata1:32M;ibdata2:16M:autoextend
innodb_doublewrite=ON
innodb_file_format=Barracuda
innodb_file_per_table=ON
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
innodb_io_capacity=1000
innodb_lock_wait_timeout=10
innodb_log_buffer_size=67108864
innodb_log_file_size=1048576000
innodb_log_files_in_group=4
innodb_max_dirty_pages_pct=60
innodb_open_files=60000
innodb_purge_threads=1
innodb_read_io_threads=4
innodb_stats_on_metadata=OFF
innodb_support_xa=ON
innodb_use_native_aio=OFF
innodb_write_io_threads=10
[mysqld_safe]
datadir=/mysql/my3306/data
设置cnf文件属主为mysql
chown mysql:mysql /mysql/my3306.cnf
6. 初始化MySQL脚本
进入到mysql主程序目录,执行脚本
cd /mysql/server/
./scripts/mysql_install_db --defaults-file=/mysql/my3306.cnf --user=mysql
7. 启动MySQL
执行命令或者用第4步中新建的脚本start_mysql_3306.sh来启动
cd /mysql/server/
./bin/mysqld_safe --defaults-file=/mysql/my3306.cnf --user=mysql &
8. 登录MySQL
执行命令或者用第4步中新建的脚本login_mysql_3306.sh来启动
mysql -S /mysql/my3306/mysql.sock