1. 程式人生 > >二進制安裝mysql5.7

二進制安裝mysql5.7

實例 char 二進制安裝 start note stack dmi repl eth

1.解壓

mkdir /opt/mysql

mv mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz /opt/mysql/

cd /opt/mysql

tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

2.創建一個鏈接

cd /usr/local

ln -s /opt/mysql/mysql-5.7.16-linux-glibc2.5-x86_64 mysql

3.創建運行的用戶

groupadd mysql

useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -M -n mysql

4.創建所需要的目錄

mkdir -p /data/mysql/3306/{data,logs,tmp}

5.修改權限

chown -R mysql:mysql /data/mysql/3306/

chown -R mysql:mysql /usr/local/mysql/

6,修改配置文件

vi /data/mysql/3306/my3306.cnf

#my.cnf
[client]
port = 3306
socket = /data/mysql/3306/tmp/3306.sock

[mysql]
prompt="\\[email protected]\\h:\\p [\\d]>"
#pager="less -i -n -S"
#tee=/opt/mysql/query.log
no-auto-rehash

[mysqld]
#misc
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/3306/data
port = 3306
socket = /data/mysql/3306/tmp/3306.sock
event_scheduler = 0

tmpdir = /data/mysql/3306/tmp
#timeout
interactive_timeout = 300
wait_timeout = 300

#character set
character-set-server = utf8

open_files_limit = 65535
max_connections = 100
max_connect_errors = 100000
lower_case_table_names =1

#symi replication

#rpl_semi_sync_master_enabled=1
#rpl_semi_sync_master_timeout=1000 # 1 second
#rpl_semi_sync_slave_enabled=1

#logs
log-output=file
slow_query_log = 1
slow_query_log_file = slow.log
log-error = error.log
log_warnings = 2
pid-file = mysql.pid
long_query_time = 1
#log-slow-admin-statements = 1
#log-queries-not-using-indexes = 1
log-slow-slave-statements = 1

#binlog
#binlog_format = STATEMENT
binlog_format = row
server-id = 330627
log-bin = /data/mysql/3306/logs/mysql-bin
binlog_cache_size = 4M
max_binlog_size = 256M
max_binlog_cache_size = 1M
sync_binlog = 0
expire_logs_days = 10
#procedure
log_bin_trust_function_creators=1

#
#gtid-mode = on
#enforce-gtid-consistency=1


#relay log
skip_slave_start = 1
max_relay_log_size = 128M
relay_log_purge = 1
relay_log_recovery = 1
relay-log=relay-bin
relay-log-index=relay-bin.index
log_slave_updates
#slave-skip-errors=1032,1053,1062
#skip-grant-tables

#buffers & cache
table_open_cache = 2048
table_definition_cache = 2048
table_open_cache = 2048
max_heap_table_size = 96M
sort_buffer_size = 128K
join_buffer_size = 128K
thread_cache_size = 200
query_cache_size = 0
query_cache_type = 0
query_cache_limit = 256K
query_cache_min_res_unit = 512
thread_stack = 192K
tmp_table_size = 96M
key_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 32M

#myisam
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1

#innodb
innodb_buffer_pool_size = 100M
innodb_buffer_pool_instances = 1
innodb_data_file_path = ibdata1:100M:autoextend
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 8M
innodb_log_file_size = 100M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 50
innodb_file_per_table = 1
innodb_rollback_on_timeout
innodb_status_file = 1
innodb_io_capacity = 100
transaction_isolation = READ-COMMITTED
innodb_flush_method = O_DIRECT


7.初始化

chown mysql:mysql /data/mysql/3306/my3306.cnf

/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/3306/my3306.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data --user=mysql --initialize

註意:--initilize 參數需要放在最後,--initialize會顯示密碼, --initialize-insecure 密碼為空。

8.設置mysql變量

echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile

source /etc/profile

9.啟動MySQL

mysqld --defaults-file=/data/mysql/3306/my3306.cnf &

10.修改密碼

cat /data/mysql/3306/data/error.log |grep "password"

alter user user() identified by ‘oracle‘;

多實例安裝

mkdir ./3307/{data,logs,tmp} -p

chown -R mysql:mysql 3307

cp ./3306/my3306.cnf ./3307/my3307.cnf

sed -i ‘s/3306/3307/g‘ ./3307/my3307.cnf

chown mysql:mysql /data/mysql/3307/my3307.cnf

/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/3307/my3307.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/3307/data --user=mysql --initialize-insecure

二進制安裝mysql5.7