创建用户和组
# groupadd mysql
# useradd -r -g mysql mysql
解压压缩包
# tar -xvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
# mv mysql-5.6.37-linux-glibc2.12-x86_64 /usr/local
# cd /usr/local/
# ln -s mysql-5.6.37-linux-glibc2.12-x86_64/ mysql
# cd mysql
# ll
total 48
drwxr-xr-x 2 root root 4096 Aug 1 13:13 bin
-rw-r--r-- 1 7161 31415 17987 Jun 3 01:42 COPYING
drwxr-xr-x 3 root root 17 Aug 1 13:13 data
drwxr-xr-x 2 root root 52 Aug 1 13:13 docs
drwxr-xr-x 3 root root 4096 Aug 1 13:13 include
drwxr-xr-x 3 root root 4096 Aug 1 13:13 lib
drwxr-xr-x 4 root root 28 Aug 1 13:13 man
drwxr-xr-x 10 root root 4096 Aug 1 13:13 mysql-test
-rw-r--r-- 1 7161 31415 2496 Jun 3 01:42 README
drwxr-xr-x 2 root root 29 Aug 1 13:13 scripts
drwxr-xr-x 28 root root 4096 Aug 1 13:13 share
drwxr-xr-x 4 root root 4096 Aug 1 13:13 sql-bench
drwxr-xr-x 2 root root 130 Aug 1 13:13 support-files
# chown -R mysql .
# chgrp -R mysql .
# ll
total 48
drwxr-xr-x 2 mysql mysql 4096 Aug 1 13:13 bin
-rw-r--r-- 1 mysql mysql 17987 Jun 3 01:42 COPYING
drwxr-xr-x 3 mysql mysql 17 Aug 1 13:13 data
drwxr-xr-x 2 mysql mysql 52 Aug 1 13:13 docs
drwxr-xr-x 3 mysql mysql 4096 Aug 1 13:13 include
drwxr-xr-x 3 mysql mysql 4096 Aug 1 13:13 lib
drwxr-xr-x 4 mysql mysql 28 Aug 1 13:13 man
drwxr-xr-x 10 mysql mysql 4096 Aug 1 13:13 mysql-test
-rw-r--r-- 1 mysql mysql 2496 Jun 3 01:42 README
drwxr-xr-x 2 mysql mysql 29 Aug 1 13:13 scripts
drwxr-xr-x 28 mysql mysql 4096 Aug 1 13:13 share
drwxr-xr-x 4 mysql mysql 4096 Aug 1 13:13 sql-bench
drwxr-xr-x 2 mysql mysql 130 Aug 1 13:13 support-files
初始化数据库
# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...2017-08-01 13:20:26 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-08-01 13:20:26 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-08-01 13:20:26 0 [Note] ./bin/mysqld (mysqld 5.6.37) starting as process 3887 ...
2017-08-01 13:20:26 3887 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-08-01 13:20:26 3887 [Note] InnoDB: The InnoDB memory heap is disabled
2017-08-01 13:20:26 3887 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-08-01 13:20:26 3887 [Note] InnoDB: Memory barrier is not used
2017-08-01 13:20:26 3887 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-08-01 13:20:26 3887 [Note] InnoDB: Using Linux native AIO
2017-08-01 13:20:26 3887 [Note] InnoDB: Using CPU crc32 instructions
2017-08-01 13:20:26 3887 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-08-01 13:20:26 3887 [Note] InnoDB: Completed initialization of buffer pool
2017-08-01 13:20:26 3887 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2017-08-01 13:20:26 3887 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2017-08-01 13:20:26 3887 [Note] InnoDB: Database physically writes the file full: wait...
2017-08-01 13:20:26 3887 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2017-08-01 13:20:26 3887 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2017-08-01 13:20:27 3887 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2017-08-01 13:20:27 3887 [Warning] InnoDB: New log files created, LSN=45781
2017-08-01 13:20:27 3887 [Note] InnoDB: Doublewrite buffer not found: creating new
2017-08-01 13:20:27 3887 [Note] InnoDB: Doublewrite buffer created
2017-08-01 13:20:27 3887 [Note] InnoDB: 128 rollback segment(s) are active.
2017-08-01 13:20:27 3887 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-08-01 13:20:27 3887 [Note] InnoDB: Foreign key constraint system tables created
2017-08-01 13:20:27 3887 [Note] InnoDB: Creating tablespace and datafile system tables.
2017-08-01 13:20:27 3887 [Note] InnoDB: Tablespace and datafile system tables created.
2017-08-01 13:20:27 3887 [Note] InnoDB: Waiting for purge to start
2017-08-01 13:20:27 3887 [Note] InnoDB: 5.6.37 started; log sequence number 0
2017-08-01 13:20:27 3887 [Note] Binlog end
2017-08-01 13:20:27 3887 [Note] InnoDB: FTS optimize thread exiting.
2017-08-01 13:20:27 3887 [Note] InnoDB: Starting shutdown...
2017-08-01 13:20:29 3887 [Note] InnoDB: Shutdown completed; log sequence number 1625977
OK
Filling help tables...2017-08-01 13:20:29 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-08-01 13:20:29 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-08-01 13:20:29 0 [Note] ./bin/mysqld (mysqld 5.6.37) starting as process 3909 ...
2017-08-01 13:20:29 3909 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-08-01 13:20:29 3909 [Note] InnoDB: The InnoDB memory heap is disabled
2017-08-01 13:20:29 3909 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-08-01 13:20:29 3909 [Note] InnoDB: Memory barrier is not used
2017-08-01 13:20:29 3909 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-08-01 13:20:29 3909 [Note] InnoDB: Using Linux native AIO
2017-08-01 13:20:29 3909 [Note] InnoDB: Using CPU crc32 instructions
2017-08-01 13:20:29 3909 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-08-01 13:20:29 3909 [Note] InnoDB: Completed initialization of buffer pool
2017-08-01 13:20:29 3909 [Note] InnoDB: Highest supported file format is Barracuda.
2017-08-01 13:20:29 3909 [Note] InnoDB: 128 rollback segment(s) are active.
2017-08-01 13:20:29 3909 [Note] InnoDB: Waiting for purge to start
2017-08-01 13:20:29 3909 [Note] InnoDB: 5.6.37 started; log sequence number 1625977
2017-08-01 13:20:29 3909 [Note] Binlog end
2017-08-01 13:20:29 3909 [Note] InnoDB: FTS optimize thread exiting.
2017-08-01 13:20:29 3909 [Note] InnoDB: Starting shutdown...
2017-08-01 13:20:30 3909 [Note] InnoDB: Shutdown completed; log sequence number 1625987
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:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h mysql7 password 'new-password'
Alternatively you can run:
./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 . ; ./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 ./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
# chown -R root .
# chown -R mysql data
# ll
total 52
drwxr-xr-x 2 root mysql 4096 Aug 1 13:13 bin
-rw-r--r-- 1 root mysql 17987 Jun 3 01:42 COPYING
drwxr-xr-x 3 mysql mysql 17 Aug 1 13:13 data
drwxr-xr-x 2 root mysql 52 Aug 1 13:13 docs
drwxr-xr-x 3 root mysql 4096 Aug 1 13:13 include
drwxr-xr-x 3 root mysql 4096 Aug 1 13:13 lib
drwxr-xr-x 4 root mysql 28 Aug 1 13:13 man
-rw-r--r-- 1 root root 943 Aug 1 13:20 my.cnf
drwxr-xr-x 10 root mysql 4096 Aug 1 13:13 mysql-test
-rw-r--r-- 1 root mysql 2496 Jun 3 01:42 README
drwxr-xr-x 2 root mysql 29 Aug 1 13:13 scripts
drwxr-xr-x 28 root mysql 4096 Aug 1 13:13 share
drwxr-xr-x 4 root mysql 4096 Aug 1 13:13 sql-bench
drwxr-xr-x 2 root mysql 130 Aug 1 13:13 support-files
启动数据库
# bin/mysqld_safe --user=mysql &
配置为服务
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
5.7参考以下步骤:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chmod 770 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql # Before MySQL 5.7.6
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server