1.下载二进制安装包
mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
tar -xvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
2.拷贝安装包和配置文件(如果没有特殊情况,将安装包解压放置在该目录)
cp -rf mysql /usr/local/mysql
cp -rf my5.6.cnf /etc/my.cnf
3.创建mysql用户
useradd mysql
4.添加数据目录
mkdir -p /home/mysql3306/mysql3306
mkdir -p /home/mysql3306/logs
5.修改目录权限
chown mysql:mysql -R /home/mysql3306
6.修改配置文件
socket = /tmp/mysql.sock(socket文件存放位置)
datadir = /home/mysql3306/mysql3306(数据文件存放目录)
server-id = 12013306(设置serverid 命名规则:ip后两位+端口号)
port = 3306(启动端口)
innodb_buffer_pool_size = 1024M(innodb buffer pool大小)
*如果是核心节点单实例 配置成系统总内存的75%左右,如果不是核心节点则按照具体业务压力来设置
7.初始化数据库(确认2个OK)
点击(此处)折叠或打开
- # /usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –defaults-file=/etc/my.cnf –datadir=/home/mysql3306/mysql3306 –user=mysql
- Installing MySQL system tables…2018-03-10 19:33:26 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
- 2018-03-10 19:33:26 0 [Note] Ignoring –secure-file-priv value as server is running with –bootstrap.
- 2018-03-10 19:33:26 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.39-log) starting as process 2041 …
- OK
- Filling help tables…2018-03-10 19:33:37 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
- 2018-03-10 19:33:37 0 [Note] Ignoring –secure-file-priv value as server is running with –bootstrap.
- 2018-03-10 19:33:37 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.6.39-log) starting as process 2063 …
- OK
- To start mysqld at boot time you have to copy
- support-files/mysql.server to the right place for your system
- PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
- To do so, start the server, then issue the following commands:
- /usr/local/mysql/bin/mysqladmin -u root password ‘new-password’
- /usr/local/mysql/bin/mysqladmin -u root -h mysql5.6 password ‘new-password’
- Alternatively you can run:
- /usr/local/mysql/bin/mysql_secure_installation
- which will also give you the option of removing the test
- databases and anonymous user created by default. This is
- strongly recommended for production servers.
- See the manual for more instructions.
- You can start the MySQL daemon with:
- cd . ; /usr/local/mysql/bin/mysqld_safe &
- You can test the MySQL daemon with mysql-test-run.pl
- cd mysql-test ; perl mysql-test-run.pl
- Please report any problems at http://bugs.mysql.com/
- The latest information about MySQL is available on the web at
- http://www.mysql.com
- Support MySQL by buying support/licenses at http://shop.mysql.com
- New default config file was created as /usr/local/mysql/my.cnf and
- will be used by default by the server when you start it.
- You may edit this file to change server settings
- WARNING: Default config file /etc/my.cnf exists on the system
- This file will be read by default by the MySQL server
- If you do not want to use this, either remove it, or use the
- –defaults-file argument to mysqld_safe when starting the server
数据目录下文件
点击(此处)折叠或打开
- [root@mysql5 mysql3306]# ll
- total 1574132
- -rw-rw—-. 1 mysql mysql 1073741824 Mar 10 19:33 ibdata1
- -rw-rw—-. 1 mysql mysql 268435456 Mar 10 19:33 ib_logfile0
- -rw-rw—-. 1 mysql mysql 268435456 Mar 10 19:33 ib_logfile1
- drwx——. 2 mysql mysql 4096 Mar 10 19:33 mysql
- -rw-rw—-. 1 mysql mysql 65405 Mar 10 19:33 mysql-bin.000001
- -rw-rw—-. 1 mysql mysql 1206067 Mar 10 19:33 mysql-bin.000002
- -rw-rw—-. 1 mysql mysql 38 Mar 10 19:33 mysql-bin.index
- drwx——. 2 mysql mysql 4096 Mar 10 19:33 performance_schema
- drwx——. 2 mysql mysql 4096 Mar 10 19:33 test
8.启动mysql5.6
点击(此处)折叠或打开
- # /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf –user=mysql &
- [1] 2108
- [root@mysql5 mysql3306]# 180310 19:40:55 mysqld_safe Logging to ‘/home/mysql3306/logs/mysql-error.log’.
- 180310 19:40:55 mysqld_safe Starting mysqld daemon with databases from /home/mysql3306/mysql3306
点击(此处)折叠或打开
- # ps -ef |grep mysql
- avahi 1312 1 0 18:36 ? 00:00:00 avahi-daemon: running [mysql5.local]
- root 2108 1821 0 19:40 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf –user=mysql
- mysql 2979 2108 7 19:40 pts/0 00:00:06 /usr/local/mysql/bin/mysqld –defaults-file=/etc/my.cnf –basedir=/usr/local/mysql –datadir=/home/mysql3306/mysql3306 –plugin-dir=/usr/local/mysql/lib/plugin –user=mysql –log-error=/home/mysql3306/logs/mysql-error.log –open-files-limit=65535 –pid-file=/home/mysql3306/mysql.pid –socket=/tmp/mysql.sock –port=3306
- root 3004 1821 0 19:42 pts/0 00:00:00 grep mysql
9.进入mysql5.6
点击(此处)折叠或打开
- # /usr/local/mysql/bin/mysql -S /tmp/mysql.sock
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 1
- Server version: 5.6.39-log MySQL Community Server (GPL)
- Copyright (c) 2000, 2018, 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> show databases;
- +——————–+
- | Database |
- +——————–+
- | information_schema |
- | mysql |
- | performance_schema |
- | test |
- +——————–+
- 4 rows in set (0.05 sec)
10.权限调整
点击(此处)折叠或打开
- mysql> select user,host,password from mysql.user;
- ERROR 2006 (HY000): MySQL server has gone away
- No connection. Trying to reconnect…
- Connection id: 2
- Current database: *** NONE ***
- +——+———–+———-+
- | user | host | password |
- +——+———–+———-+
- | root | localhost | |
- | root | mysql5.6 | |
- | root | 127.0.0.1 | |
- | root | ::1 | |
- | | localhost | |
- | | mysql5.6 | |
- +——+———–+———-+
- 6 rows in set (0.08 sec)
删除空用户
mysql> delete from mysql.user where user=”;
Query OK, 2 rows affected (0.06 sec)
mysql> delete from mysql.user where host in (‘::1′,’tomato02’);
Query OK, 1 row affected (0.02 sec)
使生效
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
赋权限
mysql> grant all on *.* to root@’localhost’ identified by ‘root’;
Query OK, 0 rows affected (0.04 sec)
mysql> grant all on *.* to root@’%’ identified by ‘root’;
Query OK, 0 rows affected (0.01 sec)
-all 所有权限
-*.* 所有权限的(所有库的所有表)
-root@’localhost’ 用户@网段 localhost通过sock访问数据库,通过本地方式访问数据库
-root@’%’ 通过TCP/IP协议来访问数据库,TCP/IP可以远程访问
-identified by ‘root’; 密码root
使用密码登录数据库
# /usr/local/mysql/bin/mysql -S /tmp/mysql.sock -p
Enter password:
查看帮助
点击(此处)折叠或打开
- # /usr/local/mysql/bin/mysql –help
- /usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.6.39, for linux-glibc2.12 (x86_64) using EditLine wrapper
- Copyright (c) 2000, 2018, 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.
- Usage: /usr/local/mysql/bin/mysql [OPTIONS] [database]
- -?, –help Display this help and exit.
- -I, –help Synonym for -?
- –auto-rehash Enable automatic rehashing. One doesn’t need to use
- ‘rehash’ to get table and field completion, but startup
- and reconnecting may take a longer time. Disable with
- –disable-auto-rehash.
- (Defaults to on; use –skip-auto-rehash to disable.)
- -A, –no-auto-rehash
- No automatic rehashing. One has to use ‘rehash’ to get
- table and field completion. This gives a quicker start of
- mysql and disables rehashing on reconnect.
- –auto-vertical-output
- Automatically switch to vertical output mode if the
- result is wider than the terminal width.
- -B, –batch Don’t use history file. Disable interactive behavior.
- (Enables –silent.)
- –bind-address=name IP address to bind to.
- -b, –binary-as-hex Print binary data as hex
- –character-sets-dir=name
- Directory for character set files.
- –column-type-info Display column type information.
- -c, –comments Preserve comments. Send comments to the server. The
- default is –skip-comments (discard comments), enable
- with –comments.
- -C, –compress Use compression in server/client protocol.
- -#, –debug[=#] This is a non-debug version. Catch this and exit.
- –debug-check Check memory and open file usage at exit.
- -T, –debug-info Print some debug info at exit.
- -D, –database=name Database to use.
- –default-character-set=name
- Set the default character set.
- –delimiter=name Delimiter to be used.
- –enable-cleartext-plugin
- Enable/disable the clear text authentication plugin.
- -e, –execute=name Execute command and quit. (Disables –force and history
- file.)
- -E, –vertical Print the output of a query (rows) vertically.
- -f, –force Continue even if we get an SQL error.
- -G, –named-commands
- Enable named commands. Named commands mean this program’s
- internal commands; see mysql> help . When enabled, the
- named commands can be used from any line of the query,
- otherwise only from the first line, before an enter.
- Disable with –disable-named-commands. This option is
- disabled by default.
- -i, –ignore-spaces Ignore space after function names.
- –init-command=name SQL Command to execute when connecting to MySQL server.
- Will automatically be re-executed when reconnecting.
- –local-infile Enable/disable LOAD DATA LOCAL INFILE.
- -b, –no-beep Turn off beep on error.
- -h, –host=name Connect to host.
- -H, –html Produce HTML output.
- -X, –xml Produce XML output.
- –line-numbers Write line numbers for errors.
- (Defaults to on; use –skip-line-numbers to disable.)
- -L, –skip-line-numbers
- Don’t write line number for errors.
- -n, –unbuffered Flush buffer after each query.
- –column-names Write column names in results.
- (Defaults to on; use –skip-column-names to disable.)
- -N, –skip-column-names
- Don’t write column names in results.
- –sigint-ignore Ignore SIGINT (CTRL-C).
- -o, –one-database Ignore statements except those that occur while the
- default database is the one named at the command line.
- –pager[=name] Pager to use to display results. If you don’t supply an
- option, the default pager is taken from your ENV variable
- PAGER. Valid pagers are less, more, cat [> filename],
- etc. See interactive help (\h) also. This option does not
- work in batch mode. Disable with –disable-pager. This
- option is disabled by default.
- -p, –password[=name]
- Password to use when connecting to server. If password is
- not given it’s asked from the tty.
- -P, –port=# Port number to use for connection or 0 for default to, in
- order of preference, my.cnf, $MYSQL_TCP_PORT,
- /etc/services, built-in default (3306).
- –prompt=name Set the mysql prompt to this value.
- –protocol=name The protocol to use for connection (tcp, socket, pipe,
- memory).
- -q, –quick Don’t cache result, print it row by row. This may slow
- down the server if the output is suspended. Doesn’t use
- history file.
- -r, –raw Write fields without conversion. Used with –batch.
- –reconnect Reconnect if the connection is lost. Disable with
- –disable-reconnect. This option is enabled by default.
- (Defaults to on; use –skip-reconnect to disable.)
- -s, –silent Be more silent. Print results with a tab as separator,
- each row on new line.
- -S, –socket=name The socket file to use for connection.
- –ssl Enable SSL for connection (automatically enabled with
- other flags).
- –ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
- –ssl).
- –ssl-capath=name CA directory (check OpenSSL docs, implies –ssl).
- –ssl-cert=name X509 cert in PEM format (implies –ssl).
- –ssl-cipher=name SSL cipher to use (implies –ssl).
- –ssl-key=name X509 key in PEM format (implies –ssl).
- –ssl-crl=name Certificate revocation list (implies –ssl).
- –ssl-crlpath=name Certificate revocation list path (implies –ssl).
- –ssl-verify-server-cert
- Verify server’s “Common Name” in its cert against
- hostname used when connecting. This option is disabled by
- default.
- –ssl-mode=name SSL connection mode.
- -t, –table Output in table format.
- –tee=name Append everything into outfile. See interactive help (\h)
- also. Does not work in batch mode. Disable with
- –disable-tee. This option is disabled by default.
- -u, –user=name User for login if not current user.
- -U, –safe-updates Only allow UPDATE and DELETE that uses keys.
- -U, –i-am-a-dummy Synonym for option –safe-updates, -U.
- -v, –verbose Write more. (-v -v -v gives the table output format).
- -V, –version Output version information and exit.
- -w, –wait Wait and retry if connection is down.
- –connect-timeout=# Number of seconds before connection timeout.
- –max-allowed-packet=#
- The maximum packet length to send to or receive from
- server.
- –net-buffer-length=#
- The buffer size for TCP/IP and socket communication.
- –select-limit=# Automatic limit for SELECT when using –safe-updates.
- –max-join-size=# Automatic limit for rows in a join when using
- –safe-updates.
- –secure-auth Refuse client connecting to server if it uses old
- (pre-4.1.1) protocol.
- (Defaults to on; use –skip-secure-auth to disable.)
- –server-arg=name Send embedded server this as a parameter.
- –show-warnings Show warnings after every statement.
- –plugin-dir=name Directory for client-side plugins.
- –default-auth=name Default authentication client-side plugin to use.
- –histignore=name A colon-separated list of patterns to keep statements
- from getting logged into mysql history.
- –binary-mode By default, ASCII ‘\0’ is disallowed and ‘\r\n’ is
- translated to ‘\n’. This switch turns off both features,
- and also turns off parsing of all clientcommands except
- \C and DELIMITER, in non-interactive mode (for input
- piped to mysql or loaded using the ‘source’ command).
- This is necessary when processing output from mysqlbinlog
- that may contain blobs.
- –connect-expired-password
- Notify the server that this client is prepared to handle
- expired password sandbox mode.
- Default options are read from the following files in the given order:
- /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
- The following groups are read: mysql client
- The following options may be given as the first argument:
- –print-defaults Print the program argument list and exit.
- –no-defaults Don’t read default options from any option file,
- except for login file.
- –defaults-file=# Only read default options from the given file #.
- –defaults-extra-file=# Read this file after the global files are read.
- –defaults-group-suffix=#
- Also read groups with concat(group, suffix)
- –login-path=# Read this path from the login file.
- Variables (–variable-name=value)
- and boolean options {FALSE|TRUE} Value (after reading options)
- ——————————— —————————————-
- auto-rehash TRUE
- auto-vertical-output FALSE
- bind-address (No default value)
- binary-as-hex FALSE
- character-sets-dir (No default value)
- column-type-info FALSE
- comments FALSE
- compress FALSE
- debug-check FALSE
- debug-info FALSE
- database (No default value)
- default-character-set utf8
- delimiter ;
- enable-cleartext-plugin FALSE
- vertical FALSE
- force FALSE
- named-commands FALSE
- ignore-spaces FALSE
- init-command (No default value)
- local-infile FALSE
- no-beep FALSE
- host (No default value)
- html FALSE
- xml FALSE
- line-numbers TRUE
- unbuffered FALSE
- column-names TRUE
- sigint-ignore FALSE
- port 3306
- promptmysql>
- quick FALSE
- raw FALSE
- reconnect TRUE
- socket/tmp/mysql.sock
- ssl FALSE
- ssl-ca(No default value)
- ssl-capath (No default value)
- ssl-cert (No default value)
- ssl-cipher (No default value)
- ssl-key (No default value)
- ssl-crl (No default value)
- ssl-crlpath (No default value)
- ssl-verify-server-cert FALSE
- table FALSE
- user (No default value)
- safe-updates FALSE
- i-am-a-dummy FALSE
- connect-timeout 0
- max-allowed-packet 16777216
- net-buffer-length 16384
- select-limit 1000
- max-join-size 1000000
- secure-auth FALSE
- show-warnings FALSE
- plugin-dir (No default value)
- default-auth (No default value)
- histignore (No default value)
- binary-mode FALSE
- connect-expired-password FALSE
11.关闭mysql
点击(此处)折叠或打开
- # /usr/local/mysql/bin/mysqladmin -uroot -proot -S /tmp/mysql.sock shutdown
- Warning: Using a password on the command line interface can be insecure.
- 180310 20:36:38 mysqld_safe mysqld from pid file /home/mysql3306/mysql.pid ended
- [1]+ Done /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf –user=mysql
强行关闭mysql
pkill mysql
12.mysql错误日志
/home/mysql3306/logs/mysql-error.log