mysql5.6单实例安装(二进制)
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)
数据目录下文件
8.启动mysql5.6
9.进入mysql5.6
10.权限调整
删除空用户
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:
查看帮助
11.关闭mysql
强行关闭mysql
pkill mysql
12.mysql错误日志
/home/mysql3306/logs/mysql-error.log
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
- prompt mysql>
- 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
pkill mysql
12.mysql错误日志
/home/mysql3306/logs/mysql-error.log