MySQL 5.7.22二進制包部署多實例

1.1 前期規劃

1.2 系統環境

1.3 軟件下載

1.4 調整文件描述符

1.5 安裝程序

1.6 部署3306實例

  1.6.1 創建3306實例相關目錄

  1.6.2 配置3306實例配置文件

  1.6.3 初始化準備並且初始化

  1.6.4 編寫3306實例的啓動腳本

  1.6.5 啓動3306實例且修改密碼

  1.6.6 加入開機自啓動

1.7 部署3307實例

  1.7.1 創建3307實例相關目錄

  1.7.2 配置3307實例配置文件

  1.7.3 初始化準備並且初始化

  1.7.4 編寫3307實例的啓動腳本

  1.7.5 啓動3307實例且修改密碼

  1.7.6 加入開機自啓動

1.8 查看3306和3307實例的運行情況

1.1 前期規劃

01:虛擬機一臺,2vCPU,4G內存,分別部署3306和3307兩個實例,使用"多配置文件"的方式

02:MySQL程序的安裝目錄:/data/apps/mysql-5.7.22 要做軟件鏈接:/data/apps/mysql

03:3306實例的配置文件路徑爲:/data/mysql/3306/my.cnf

04:3307實例的配置文件路徑爲:/data/mysql/3307/my.cnf

05:3306實例的相關目錄:/data/mysql/3306/{data,binlog,slowlog,errlog,redolog }

06:3307實例的相關目錄:/data/mysql/3307/{data,binlog,slowlog,errlog,redolog }

07:採用MySQL通用二進制包(mysql-5.7.22-linux-glibc2.12-x86_64.tar)

1.2 系統環境

[root@db01 ~]# cat /etc/redhat-release;uname -r;uname -m

CentOS release 6.8 (Final)

2.6.32-642.el6.x86_64

x86_64

[root@db01 ~]# /etc/init.d/iptables status

iptables: Firewall is not running.

[root@db01 ~]# getenforce

Disabled

[root@db01 ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4}'

10.0.0.10

[root@db01 ~]# ifconfig eth1|awk -F "[ :]+" 'NR==2{print $4}'

172.16.1.10

[root@db01 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3  26G  1.5G 23G   6%   /

tmpfs      1.9G 0    1.9G  0%   /dev/shm

/dev/sda1  976M 38M  888M  5%   /boot

/dev/sdb1  50G  52M  47G   1%   /data

1.3 軟件下載

鏈接:https://pan.baidu.com/s/1FT4lwzpLq_zup-8bSEx3WA 

提取碼:ff3h 

1.4 調整文件描述符

[root@db01 ~]# cat >>/etc/security/limits.conf <<EOF

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

* soft stack 65535

* soft stack 65535

EOF

[root@db01 ~]# echo "* - proc 65535" > /etc/security/limits.d/90-nproc.conf

[root@db01 ~]# ulimit -a <==退出後重新連接後,查看

core file size (blocks, -c) 0

data seg size (kbytes, -d) unlimited

scheduling priority (-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 31375

max locked memory (kbytes, -l) 64

max memory size (kbytes, -m) unlimited

open files (-n) 65535

pipe size (512 bytes, -p) 8

POSIX message queues (bytes, -q) 819200

real-time priority (-r) 0

stack size (kbytes, -s) 65535

cpu time (seconds, -t) unlimited

max user processes (-u) 65535

virtual memory (kbytes, -v) unlimited

file locks (-x) unlimited

1.5 安裝程序

##卸載系統自帶的mysql相關程序

[root@db01 ~]# rpm -qa|grep mysql

mysql-libs-5.1.73-7.el6.x86_64

[root@db01 ~]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64

[root@db01 ~]# rpm -qa|grep mysql

[root@db01 ~]#


##安裝相關的依賴包

[root@db01 ~]# yum install gcc gcc-c++ bison ncurses ncurses-devel numactl zlib libxml2 openssl libaio libstdc++-devel -y

[root@db01 ~]# rpm -qa gcc gcc-c++ bison ncurses ncurses-devel numactl zlib libxml2 openssl libaio libstdc++-devel

libxml2-2.7.6-21.el6_8.1.x86_64

gcc-c++-4.4.7-23.el6.x86_64

zlib-1.2.3-29.el6.x86_64

ncurses-5.7-4.20090207.el6.x86_64

bison-2.4.1-5.el6.x86_64

numactl-2.0.9-2.el6.x86_64

openssl-1.0.1e-57.el6.x86_64

gcc-4.4.7-23.el6.x86_64

ncurses-devel-5.7-4.20090207.el6.x86_64

libstdc++-devel-4.4.7-23.el6.x86_64

libaio-0.3.107-10.el6.x86_64


##創建mysql用戶,不讓其登錄,不創建家目錄

[root@db01 ~]# useradd -s /sbin/nologin -M mysql

[root@db01 ~]# id mysql

uid=501(mysql) gid=501(mysql) groups=501(mysql)

[root@db01 ~]# tail -1 /etc/passwd

mysql:x:501:501::/home/mysql:/sbin/nologin


##創建/data/apps目錄和/root/tools目錄,上傳軟件到/root/tools後,解壓到/data/apps目錄下

[root@db01 ~]# mkdir -p /data/apps /root/tools

[root@db01 ~]# ls -ld /data/apps/ /root/tools/

drwxr-xr-x 2 root root 4096 Dec 8 23:54 /data/apps/

drwxr-xr-x 2 root root 4096 Dec 8 23:54 /root/tools/

[root@db01 ~]# cd /root/tools/

[root@db01 tools]# rz

[root@db01 tools]# ll mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

-rw-r--r-- 1 root root 643790848 Nov 21 09:47 mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

[root@db01 tools]# tar xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /data/apps/

[root@db01 tools]# mv /data/apps/mysql-5.7.22-linux-glibc2.12-x86_64/ /data/apps/mysql-5.7.22

[root@db01 tools]# ln -s /data/apps/mysql-5.7.22/ /data/apps/mysql

[root@db01 tools]# ll /data/apps/mysql

lrwxrwxrwx 1 root root 24 Dec 9 00:09 /data/apps/mysql -> /data/apps/mysql-5.7.22/

[root@db01 tools]# chown -R mysql:mysql /data/apps/mysql/

[root@db01 tools]# ls -ld /data/apps/mysql/

drwxr-xr-x 9 mysql mysql 4096 Dec 9 00:08 /data/apps/mysql/

[root@db01 tools]# echo "PATH=/data/apps/mysql/bin:$PATH" >>/etc/bashrc

[root@db01 tools]# source /etc/bashrc

[root@db01 tools]# echo $PATH

/data/apps/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

1.6 部署3306實例

1.6.1 創建3306實例相關目錄

[root@db01 ~]# mkdir /data/mysql/3306/{data,errlog,binlog,slowlog,redolog} -p

[root@db01 ~]# tree /data/mysql/3306/

/data/mysql/3306/

|-- binlog

|-- data

|-- errlog

|-- redolog

`-- slowlog

5 directories, 0 files

1.6.2 配置3306實例配置文件

[root@db01 ~]# vim /data/mysql/3306/my.cnf

[client]

port=3306

socket=/data/mysql3306/mysql.sock


[mysql]

no_auto_rehash


[mysqld]

###Basic Parameters

user=mysql

port=3306

basedir=/data/apps/mysql

datadir=/data/mysql/3306/data

socket=/data/mysql/3306/mysql.sock

pid_file=/data/mysql/3306/mysql.pid

character_set_server=utf8

skip_character_set_client_handshake=1


###Server id

server_id=3306


###Binlog Parameters

log_output=FILE

log_timestamps=system

binlog_format=row

expire_logs_days=15

max_binlog_size=2M

binlog_cache_size=2M

max_binlog_cache_size=4M

sync_binlog=1

master_info_repository=table

binlog_rows_query_log_events=on

log_bin_trust_function_creators=1

log_bin=/data/mysql/3306/binlog/mysql_bin


###Slowlog Parameters

log_slow_admin_statements=1

slow_query_log=on

long_query_time=2

log_queries_not_using_indexes=on

slow_query_log_file=/data/mysql/3306/slowlog/mysql_slow.log


###Errlog Parameters

log-error=/data/mysql/3306/errlog/mysql_error.log


###Other Parameters

autocommit=on

skip_external_locking=on

skip_name_resolve=on

max_connections=800

max_connect_errors=1000

max_allowed_packet=200M

wait_timeout=1800

interactive_timeout=1800

open_files_limit=65535

group_concat_max_len=4294967295

symbolic_links=0

transaction_write_set_extraction=off

transaction_isolation=READ-COMMITTED

explicit_defaults_for_timestamp=1

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"


###Innodb Parameters

default_storage_engine=InnoDB

innodb_flush_log_at_trx_commit=1

innodb_buffer_pool_size=500M

innodb_buffer_pool_instances=8

innodb_buffer_pool_dump_at_shutdown=1

innodb_buffer_pool_dump_pct=40

innodb_buffer_pool_load_at_startup=1

innodb_file_per_table=1

innodb_change_buffering=all

innodb_doublewrite=on

innodb_autoextend_increment=64

innodb_temp_data_file_path=ibtmp1:200M:autoextend:max:20G

innodb_data_file_path=ibdata1:200M;ibdata2:200M;ibdata3:200M:autoextend:max:20G

innodb_flush_method=O_DIRECT

innodb_log_buffer_size=16M

innodb_log_file_size=4G

innodb_log_files_in_group=2

innodb_log_group_home_dir=/data/mysql/3306/redolog

innodb_undo_logs=128

innodb_undo_tablespaces=3

innodb_undo_log_truncate=1

innodb_max_undo_log_size=20G

innodb_purge_rseg_truncate_frequency=128

innodb_print_all_deadlocks=on

innodb_lock_wait_timeout=5

innodb_deadlock_detect=on

innodb_status_output_locks=on

innodb_strict_mode=1

innodb_sort_buffer_size=64M

innodb_open_files=65535

innodb_concurrency_tickets=5000

innodb_page_cleaners=4

innodb_old_blocks_time=1000

innodb_stats_on_metadata=0

innodb_checksum_algorithm=0

show_compatibility_56=on

innodb_lru_scan_depth=2000

innodb_flush_neighbors=1

innodb_purge_threads=4

innodb_large_prefix=1

1.6.3 初始化準備並且初始化

##創建錯誤日誌文件

[root@db01 ~]# grep "errlog" /data/mysql/3306/my.cnf

log-error=/data/mysql/3306/errlog/mysql_error.log

[root@db01 ~]# touch /data/mysql/3306/errlog/mysql_error.log

[root@db01 ~]# ll /data/mysql/3306/errlog/mysql_error.log

-rw-r--r-- 1 root root 0 Dec 9 00:29 /data/mysql/3306/errlog/mysql_error.log


##更改/data/mysql/3306/目錄下所有文件的屬主/組爲mysql用戶

[root@db01 ~]# chown -R mysql:mysql /data/mysql/3306/

[root@db01 ~]# ls -ld /data/mysql/3306/

drwxr-xr-x 7 mysql mysql 4096 Dec 9 00:25 /data/mysql/3306/


##初始化3306實例

[root@db01 ~]# mysqld --defaults-file=/data/mysql/3306/my.cnf --user=mysql --basedir=/data/apps/mysql --datadir=/data/mysql/3306/data/ --initialize

[root@db01 ~]# echo $?

0

1.6.4 編寫3306實例的啓動腳本

注意:

01:該腳本中停止mysql的方法爲:

mysqladmin -uUser -pPassword -S /data/mysql/3306/mysql.sock shutdown

02:腳本中有一個Pass變量,就是MySQL root用戶的密碼

03:當然你也可以設置成其它密碼,但必須得改腳本中的Pass變量的值(前提是用這個腳本)

[root@db01 ~]# vim /data/mysql/3306/mysqld

#!/bin/bash
#
# MySQL boot script
# QQ:158316096
# Blog:http://blog.51cto.com/11576296
#
# Define variables
RETVAL=0
Port=3306
User=root
Pass=chenliang
Pid=/data/mysql/3306/mysql.pid
Sock=/data/mysql/3306/mysql.sock
My=/data/mysql/3306/my.cnf
Path=/data/apps/mysql/bin

# Determine the user to execute
if [ $UID -ne $RETVAL ];then
  echo "Must be root to run scripts"
  exit 1
fi

# Load the local functions
[ -f /etc/init.d/functions ] && source /etc/init.d/functions

# Define functions
start(){
    if [ ! -f "$Pid" ];then
      $Path/mysqld_safe --defaults-file=$My >/dev/null 2>&1 &
      RETVAL=$?
      if [ $RETVAL -eq 0 ];then
        action "Start MySQL [3306]" /bin/true
       else
        action "Start MySQL [3306]" /bin/false
      fi
     else
      echo "MySQL 3306 is running"
      exit 1
    fi
    return $RETVAL
}

stop(){
   if [ -f "$Pid" ];then
     $Path/mysqladmin -u$User -p$Pass -S $Sock shutdown >/dev/null 2>&1
     RETVAL=$?
     if [ $RETVAL -eq 0 ];then
       action "Stop MySQL[3306]" /bin/true
      else
       action "Stop MySQL[3306]" /bin/false
     fi
    else
     echo "MySQL [3306] is not running"
     exit 1
   fi
    return $RETVAL
}  

status(){
    if [ -f "$Pid" ];then
      echo "MySQL [3306] is running"
     else
      echo "MySQL [3306] is not running"
    fi    
    return $RETVAL
}

# Case call functions
case "$1" in
  start)
     start
     RETVAL=$?
     ;;
  stop)
     stop
     RETVAL=$?
     ;;
  restart)
     stop
     sleep 5
     start
     RETVAL=$?
     ;;
  status)
     status
     RETVAL=$?
     ;;
  *)
     echo "USAGE:$0{start|stop|restart|status}"
     exit 1
esac

# Scripts return values
exit $RETVAL


1.6.5 啓動3306實例且修改密碼

##設置/data/mysql/3306/mysqld腳本的權限爲700(因爲腳本中有root用戶的密碼)

[root@db01 ~]# chmod 700 /data/mysql/3306/mysqld

[root@db01 ~]# ll /data/mysql/3306/mysqld

-rwx------ 1 root root 1897 Dec 9 00:44 /data/mysql/3306/mysqld


##啓動3306實例服務

[root@db01 ~]# /data/mysql/3306/mysqld start

Start MySQL [3306] [ OK ]

[root@db01 ~]# netstat -lntup|grep 3306

tcp 0 0 :::3306 :::* LISTEN 3442/mysqld


##修改mysql root的密碼爲chenliang(因爲現在爲初始密碼,必須得先改密碼)

[root@db01 ~]# grep "password" /data/mysql/3306/errlog/mysql_error.log

2018-12-09T00:34:38.917317+08:00 1 [Note] A temporary password is generated for root@localhost: emo*lwNYj2X0

[root@db01 ~]# mysql -uroot -p -S /data/mysql/3306/mysql.sock

Enter password: <==輸入密碼emo*lwNYj2X0

mysql>

mysql> select user,host,authentication_string,password_expired from mysql.user where user='root' and host='localhost';

+------+-----------+-------------------------------------------+------------------+

| user | host      | authentication_string                     | password_expired |

+------+-----------+-------------------------------------------+------------------+

| root | localhost | *D072DB593E2E7B068E887A452EB1DB3981A5D844 | N                |

+------+-----------+-------------------------------------------+------------------+

1 row in set (0.00 sec)

mysql>

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

mysql>

mysql> exit

Bye

[root@db01 ~]# mysql -uroot -p -S /data/mysql/3306/mysql.sock -e "show databases;"

Enter password:  <==輸入密碼 chenliang

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

1.6.6 加入開機自啓動

[root@db01 ~]# echo -ne "\n# Boot start mysql service[3306].USER:chenliang TIME:2018-11-23\n/data/mysql/3306/mysqld start\n" >>/etc/rc.local

[root@db01 ~]# tail -2 /etc/rc.local

# Boot start mysql service[3306].USER:chenliang TIME:2018-11-23

/data/mysql/3306/mysqld start

1.7 部署3307實例

1.7.1 創建3307實例相關目錄

[root@db01 ~]# mkdir /data/mysql/3307/{data,errlog,binlog,slowlog,redolog} -p

[root@db01 ~]# tree /data/mysql/3307/

/data/mysql/3307/

|-- binlog

|-- data

|-- errlog

|-- redolog

`-- slowlog

5 directories, 0 files

1.7.2 配置3307實例配置文件

[root@db01 ~]# vim /data/mysql/3307/my.cnf

[client]

port=3307

socket=/data/mysql3307/mysql.sock


[mysql]

no_auto_rehash


[mysqld]

###Basic Parameters

user=mysql

port=3307

basedir=/data/apps/mysql

datadir=/data/mysql/3307/data

socket=/data/mysql/3307/mysql.sock

pid_file=/data/mysql/3307/mysql.pid

character_set_server=utf8

skip_character_set_client_handshake=1


###Server id

server_id=3307


###Binlog Parameters

log_output=FILE

log_timestamps=system

binlog_format=row

expire_logs_days=15

max_binlog_size=2M

binlog_cache_size=2M

max_binlog_cache_size=4M

sync_binlog=1

master_info_repository=table

binlog_rows_query_log_events=on

log_bin_trust_function_creators=1

log_bin=/data/mysql/3307/binlog/mysql_bin


###Slowlog Parameters

log_slow_admin_statements=1

slow_query_log=on

long_query_time=2

log_queries_not_using_indexes=on

slow_query_log_file=/data/mysql/3307/slowlog/mysql_slow.log


###Errlog Parameters

log-error=/data/mysql/3307/errlog/mysql_error.log


###Other Parameters

autocommit=on

skip_external_locking=on

skip_name_resolve=on

max_connections=800

max_connect_errors=1000

max_allowed_packet=200M

wait_timeout=1800

interactive_timeout=1800

open_files_limit=65535

group_concat_max_len=4294967295

symbolic_links=0

transaction_write_set_extraction=off

transaction_isolation=READ-COMMITTED

explicit_defaults_for_timestamp=1

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"


###Innodb Parameters

default_storage_engine=InnoDB

innodb_flush_log_at_trx_commit=1

innodb_buffer_pool_size=500M

innodb_buffer_pool_instances=8

innodb_buffer_pool_dump_at_shutdown=1

innodb_buffer_pool_dump_pct=40

innodb_buffer_pool_load_at_startup=1

innodb_file_per_table=1

innodb_change_buffering=all

innodb_doublewrite=on

innodb_autoextend_increment=64

innodb_temp_data_file_path=ibtmp1:200M:autoextend:max:20G

innodb_data_file_path=ibdata1:200M;ibdata2:200M;ibdata3:200M:autoextend:max:20G

innodb_flush_method=O_DIRECT

innodb_log_buffer_size=16M

innodb_log_file_size=4G

innodb_log_files_in_group=2

innodb_log_group_home_dir=/data/mysql/3307/redolog

innodb_undo_logs=128

innodb_undo_tablespaces=3

innodb_undo_log_truncate=1

innodb_max_undo_log_size=20G

innodb_purge_rseg_truncate_frequency=128

innodb_print_all_deadlocks=on

innodb_lock_wait_timeout=5

innodb_deadlock_detect=on

innodb_status_output_locks=on

innodb_strict_mode=1

innodb_sort_buffer_size=64M

innodb_open_files=65535

innodb_concurrency_tickets=5000

innodb_page_cleaners=4

innodb_old_blocks_time=1000

innodb_stats_on_metadata=0

innodb_checksum_algorithm=0

show_compatibility_56=on

innodb_lru_scan_depth=2000

innodb_flush_neighbors=1

innodb_purge_threads=4

innodb_large_prefix=1

1.7.3 初始化準備並且初始化

##創建錯誤日誌文件

[root@db01 ~]# grep "errlog" /data/mysql/3307/my.cnf

log-error=/data/mysql/3307/errlog/mysql_error.log

[root@db01 ~]# touch /data/mysql/3307/errlog/mysql_error.log

[root@db01 ~]# ll /data/mysql/3307/errlog/mysql_error.log

-rw-r--r-- 1 root root 0 Dec 9 01:08 /data/mysql/3307/errlog/mysql_error.log


##更改/data/mysql/3307/目錄下所有文件的屬主/組爲mysql用戶

[root@db01 ~]# chown -R mysql:mysql /data/mysql/3307/

[root@db01 ~]# ls -ld /data/mysql/3307/

drwxr-xr-x 7 mysql mysql 4096 Dec 9 01:06 /data/mysql/3307/


##初始化3307實例

[root@db01 ~]# mysqld --defaults-file=/data/mysql/3307/my.cnf --user=mysql --basedir=/data/apps/mysql --datadir=/data/mysql/3307/data/ --initialize

[root@db01 ~]# echo $?

0

1.7.4 編寫3307實例的啓動腳本

注意:

01:該腳本中停止mysql的方法爲:

    mysqladmin -uUser -pPassword -S /data/mysql/3307/mysql.sock shutdown

02:腳本中有一個Pass變量,就是MySQL root用戶的密碼

03:當然你也可以設置成其它密碼,但必須得改腳本中的Pass變量的值(前提是用這個腳本)

[root@db01 ~]# vim /data/mysql/3307/mysqld

#!/bin/bash
#
# MySQL boot script
# QQ:158316096
# Blog:http://blog.51cto.com/11576296
#
# Define variables
RETVAL=0
Port=3307
User=root
Pass=chenliang
Pid=/data/mysql/3307/mysql.pid
Sock=/data/mysql/3307/mysql.sock
My=/data/mysql/3307/my.cnf
Path=/data/apps/mysql/bin

# Determine the user to execute
if [ $UID -ne $RETVAL ];then
  echo "Must be root to run scripts"
  exit 1
fi

# Load the local functions
[ -f /etc/init.d/functions ] && source /etc/init.d/functions

# Define functions
start(){
    if [ ! -f "$Pid" ];then
      $Path/mysqld_safe --defaults-file=$My >/dev/null 2>&1 &
      RETVAL=$?
      if [ $RETVAL -eq 0 ];then
        action "Start MySQL [3307]" /bin/true
       else
        action "Start MySQL [3307]" /bin/false
      fi
     else
      echo "MySQL 3307 is running"
      exit 1
    fi
    return $RETVAL
}

stop(){
    if [ -f "$Pid" ];then
      $Path/mysqladmin -u$User -p$Pass -S $Sock shutdown >/dev/null 2>&1
      RETVAL=$?
      if [ $RETVAL -eq 0 ];then
        action "Stop MySQL[3307]" /bin/true
       else
        action "Stop MySQL[3307]" /bin/false
      fi
     else
      echo "MySQL [3307] is not running"
      exit 1
    fi
    return $RETVAL
}

status(){
    if [ -f "$Pid" ];then
      echo "MySQL [3307] is running"
     else
      echo "MySQL [3307] is not running"
    fi
    return $RETVAL
}

# Case call functions
case "$1" in
  start)
     start
     RETVAL=$?
     ;;
  stop)
     stop
     RETVAL=$?
     ;;
  restart)
     stop
     sleep 5
     start
     RETVAL=$?
     ;;
  status)
     status
     RETVAL=$?
     ;;
  *)
     echo "USAGE:$0{start|stop|restart|status}"
     exit 1
esac

# Scripts return values
exit $RETVAL

1.7.5 啓動3307實例且修改密碼

##設置/data/mysql/3307/mysqld腳本的權限爲700(因爲腳本中有root用戶的密碼)

[root@db01 ~]# chmod 700 /data/mysql/3307/mysqld

[root@db01 ~]# ll /data/mysql/3307/mysqld

-rwx------ 1 root root 1897 Dec 9 01:18 /data/mysql/3307/mysqld


##啓動3307實例

[root@db01 ~]# /data/mysql/3307/mysqld start

Start MySQL [3307] [ OK ]

[root@db01 ~]# netstat -lntup|grep 3307

tcp 0 0 :::3307 :::* LISTEN 4709/mysqld


##修改mysql root的密碼爲chenliang(因爲現在爲初始密碼,必須得先改密碼)

[root@db01 ~]# grep "password" /data/mysql/3307/errlog/mysql_error.log

2018-12-09T01:14:15.815156+08:00 1 [Note] A temporary password is generated for root@localhost: >G(pEA)ao5H+

[root@db01 ~]# mysql -uroot -p -S /data/mysql/3307/mysql.sock

Enter password: <==輸入密碼>G(pEA)ao5H+

mysql>

mysql> alter user 'root'@'localhost' identified by 'chenliang';

Query OK, 0 rows affected (0.04 sec)


mysql> select user,host,authentication_string,password_expired from mysql.user where user='root' and host='localhost';

+------+-----------+-------------------------------------------+------------------+

| user | host      | authentication_string                     | password_expired |

+------+-----------+-------------------------------------------+------------------+

| root | localhost | *D072DB593E2E7B068E887A452EB1DB3981A5D844 | N                |

+------+-----------+-------------------------------------------+------------------+

1 row in set (0.00 sec)


mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)


mysql> exit

Bye

[root@db01 ~]# mysql -uroot -p -S /data/mysql/3307/mysql.sock -e "show databases;"

Enter password:  <==輸入密碼chenliang

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

1.7.6 加入開機自啓動

[root@db01 ~]# echo -ne "\n# Boot start mysql service[3307].USER:chenliang TIME:2018-11-23\n/data/mysql/3307/mysqld start\n" >>/etc/rc.local

[root@db01 ~]# tail -2 /etc/rc.local

# Boot start mysql service[3307].USER:chenliang TIME:2018-11-23

/data/mysql/3307/mysqld start

1.8 查看3306和3307實例的運行情況

[root@db01 ~]# netstat -lntup|grep 330*

tcp 0 0 :::3306 :::* LISTEN 3442/mysqld

tcp 0 0 :::3307 :::* LISTEN 4709/mysqld

[root@db01 ~]# netstat -lntup|grep mysql

tcp 0 0 :::3306 :::* LISTEN 3442/mysqld

tcp 0 0 :::3307 :::* LISTEN 4709/mysqld

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章