一、创建msql用户
#添加运行mysql的用户,禁止该用户登录系统
[root@openstack-01 ~]# useradd mysql -s /sbin/nologin
二、创建相关目录
#创建目录
[root@openstack-01 ~]# mkdir /data/mysql/mysql3306/{conf,data,logs,tmp} -p
#修改目录权限
[root@openstack-01 ~]# chown -R mysql.mysql /data/mysql
三、创建配置文件
[root@openstack-01 ~]# cat /data/mysql/mysql3306/conf/mysql_3306.cnf
#my.cnf
[client]
port = 3306
socket = /tmp/mysql3306.sock
[mysql]
prompt="\\u@\\h [\\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/mysql3306/data
port = 3306
socket = /tmp/mysql3306.sock
event_scheduler = 0
tmpdir = /data/mysql/mysql3306/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 = 1003306
log-bin = /data/mysql/mysql3306/logs/mysql-bin
max_binlog_size = 256M
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_io_capacity = 2000
transaction_isolation = READ-COMMITTED
innodb_flush_method = O_DIRECT
四、初始化mysql
#开始初始化
[root@openstack-01 ~]# /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/bin/mysqld --defaults-file=/data/mysql/mysql3306/conf/mysql_3306.cnf --basedir=/usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/ --initialize
#查看初始化后的结果
[root@openstack-01 ~]# ll /data/mysql/mysql3306/data/
total 409648
-rw-r----- 1 mysql mysql 56 Jun 10 17:27 auto.cnf
-rw-r----- 1 mysql mysql 6236 Jun 10 17:27 error.log
-rw-r----- 1 mysql mysql 413 Jun 10 17:27 ib_buffer_pool
-rw-r----- 1 mysql mysql 104857600 Jun 10 17:27 ibdata1
-rw-r----- 1 mysql mysql 104857600 Jun 10 17:27 ib_logfile0
-rw-r----- 1 mysql mysql 104857600 Jun 10 17:27 ib_logfile1
-rw-r----- 1 mysql mysql 104857600 Jun 10 17:27 ib_logfile2
drwxr-x--- 2 mysql mysql 4096 Jun 10 17:27 mysql
drwxr-x--- 2 mysql mysql 8192 Jun 10 17:27 performance_schema
-rw-r----- 1 mysql mysql 217 Jun 10 17:27 slow.log
drwxr-x--- 2 mysql mysql 8192 Jun 10 17:27 sys
#获取root用户密码
[root@openstack-01 ~]# grep password /data/mysql/mysql3306/data/error.log |awk '{print $11}'
_:;II,r0I;oo
五、启动mysql
[root@openstack-01 ~]# /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/bin/mysqld --defaults-file=/data/mysql/mysql3306/conf/mysql_3306.cnf &
[1] 14632
[root@openstack-01 ~]# ps aux |grep mysql |grep -v grep
mysql 14632 2.7 9.8 1067652 184596 pts/0 Sl 17:30 0:00 /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/bin/mysqld --defaults-file=/data/mysql/mysql3306/conf/mysql_3306.cnf
[root@openstack-01 ~]# ss -tnl |grep 3306
LISTEN 0 70 :::3306 :::*
#登录mysql
[root@openstack-01 ~]# /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/bin/mysql -u root -p -S /tmp/mysql3306.sock
Enter password: #输入上文中获取到的密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17-log
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
#修改root密码
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
#用新密码重新登录
[root@openstack-01 ~]# /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64/bin/mysql -u root -p -S /tmp/mysql3306.sock
Enter password: #输入新设置的密码,测试正常
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.17-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>