天天看点

Linux环境安装Mysql数据库的三种方式之一:二进制包方式安装

本文是在CentOS7系统平台下安装Mysql5.6.26版本数据库的操作说明,如有错误,请指正。

系统平台:CentOS-7-x86_64  

数据库版本:mysql-5.6.26

Mysql镜像文件下载地址:http://dev.mysql.com/downloads/mirrors.html

本次演示的Mysql安装包版本:mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz

1、添加mysql用户组及mysql用户

[[email protected] ~]# groupadd mysql

[[email protected] ~]# useradd -r -g mysql mysql
           

2、将二进制文件解压到指定的安装目录:/usr/local/mysql

到mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz包的目录下,解压到/usr/local目录下:

[[email protected] tmp]# tar zxvf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
           

到/usr/local/目录中,重命名解压出来的目录名,改为mysql:

[[email protected] tmp]# cd /usr/local/

[[email protected] local]# mv mysql-5.6.26-linux-glibc2.5-x86_64 mysql
           

查看此目录下文件:

[[email protected] local]# cd mysql/

[[email protected] mysql]# ls
bin     data  include         lib mysql-test  scripts  sql-bench
COPYING docs  INSTALL-BINARY  man README      share    support-files
           

注:/usr/local/mysql/下的目录结构

Directory Contents of Directory
bin Client programs and the mysqld server
data Log files, databases
docs Manual in Info format
man Unix manual pages
include Include (header) files
lib Libraries
scripts mysql_install_db
share Miscellaneous support files, including error messages, sample configuration files, SQL for database installation
sql-bench Benchmarks

3、创建mysql数据存放的目录:/data/mysql

[[email protected] mysql]# mkdir -p /data/mysql
           

4、更改所属的组和用户

[[email protected] mysql]# chown -R mysql:mysql /usr/local/mysql/

[[email protected] mysql]# chown -R mysql:mysql /data/mysql/
           

5、初始化mysql

注释:以mysql用户执行mysql_install_db脚本,基本目录为:/usr/local/mysql/,数据文件目录为:/data/mysql/

[[email protected] mysql]# pwd
/usr/local/mysql

[[email protected] mysql]#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/

Installing MySQL system tables...2015-08-3114:24:16 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.Please use --explicit_defaults_for_timestamp server option (see documentationfor more details).
2015-08-31 14:24:16 0 [Note]/usr/local/mysql//bin/mysqld (mysqld 5.6.26) starting as process 36847 ...
2015-08-31 14:24:17 36847 [Note] InnoDB:Using atomics to ref count buffer pool pages
2015-08-31 14:24:17 36847 [Note] InnoDB:The InnoDB memory heap is disabled
2015-08-31 14:24:17 36847 [Note] InnoDB:Mutexes and rw_locks use GCC atomic builtins
2015-08-31 14:24:17 36847 [Note] InnoDB:Memory barrier is not used
2015-08-31 14:24:17 36847 [Note] InnoDB:Compressed tables use zlib 1.2.3
2015-08-31 14:24:17 36847 [Note] InnoDB:Using Linux native AIO
2015-08-31 14:24:17 36847 [Note] InnoDB:Using CPU crc32 instructions
2015-08-31 14:24:17 36847 [Note] InnoDB:Initializing buffer pool, size = 128.0M
2015-08-31 14:24:17 36847 [Note] InnoDB:Completed initialization of buffer pool
2015-08-31 14:24:17 36847 [Note] InnoDB:The first specified data file ./ibdata1 did not exist: a new database to becreated!
2015-08-31 14:24:17 36847 [Note] InnoDB:Setting file ./ibdata1 size to 12 MB
2015-08-31 14:24:17 36847 [Note] InnoDB:Database physically writes the file full: wait...
2015-08-31 14:24:17 36847 [Note] InnoDB:Setting log file ./ib_logfile101 size to 48 MB
2015-08-31 14:24:18 36847 [Note] InnoDB:Setting log file ./ib_logfile1 size to 48 MB
2015-08-31 14:24:18 36847 [Note] InnoDB:Renaming log file ./ib_logfile101 to ./ib_logfile0
2015-08-31 14:24:18 36847 [Warning] InnoDB:New log files created, LSN=45781
2015-08-31 14:24:18 36847 [Note] InnoDB:Doublewrite buffer not found: creating new
2015-08-31 14:24:18 36847 [Note] InnoDB:Doublewrite buffer created
2015-08-31 14:24:18 36847 [Note] InnoDB:128 rollback segment(s) are active.
2015-08-31 14:24:18 36847 [Warning] InnoDB:Creating foreign key constraint system tables.
2015-08-31 14:24:18 36847 [Note] InnoDB:Foreign key constraint system tables created
2015-08-31 14:24:18 36847 [Note] InnoDB:Creating tablespace and datafile system tables.
2015-08-31 14:24:18 36847 [Note] InnoDB:Tablespace and datafile system tables created.
2015-08-31 14:24:18 36847 [Note] InnoDB:Waiting for purge to start
2015-08-31 14:24:18 36847 [Note] InnoDB:5.6.26 started; log sequence number 0
2015-08-31 14:24:19 36847 [Note] Binlog end
2015-08-31 14:24:19 36847 [Note] InnoDB:FTS optimize thread exiting.
2015-08-31 14:24:19 36847 [Note] InnoDB:Starting shutdown...
2015-08-31 14:24:20 36847 [Note] InnoDB:Shutdown completed; log sequence number 1625977
OK

Filling help tables...2015-08-31 14:24:20 0[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use--explicit_defaults_for_timestamp server option (see documentation for moredetails).
2015-08-31 14:24:20 0 [Note]/usr/local/mysql//bin/mysqld (mysqld 5.6.26) starting as process 36869 ...
2015-08-31 14:24:20 36869 [Note] InnoDB:Using atomics to ref count buffer pool pages
2015-08-31 14:24:20 36869 [Note] InnoDB:The InnoDB memory heap is disabled
2015-08-31 14:24:20 36869 [Note] InnoDB:Mutexes and rw_locks use GCC atomic builtins
2015-08-31 14:24:20 36869 [Note] InnoDB:Memory barrier is not used
2015-08-31 14:24:20 36869 [Note] InnoDB:Compressed tables use zlib 1.2.3
2015-08-31 14:24:20 36869 [Note] InnoDB:Using Linux native AIO
2015-08-31 14:24:20 36869 [Note] InnoDB:Using CPU crc32 instructions
2015-08-31 14:24:20 36869 [Note] InnoDB:Initializing buffer pool, size = 128.0M
2015-08-31 14:24:20 36869 [Note] InnoDB:Completed initialization of buffer pool
2015-08-31 14:24:20 36869 [Note] InnoDB:Highest supported file format is Barracuda.
2015-08-31 14:24:21 36869 [Note] InnoDB:128 rollback segment(s) are active.
2015-08-31 14:24:21 36869 [Note] InnoDB:Waiting for purge to start
2015-08-31 14:24:21 36869 [Note] InnoDB:5.6.26 started; log sequence number 1625977
2015-08-31 14:24:21 36869 [Note] Binlog end
2015-08-31 14:24:21 36869 [Note] InnoDB:FTS optimize thread exiting.
2015-08-31 14:24:21 36869 [Note] InnoDB:Starting shutdown...
2015-08-31 14:24:22 36869 [Note] InnoDB:Shutdown completed; log sequence number 1625987
OK

To start mysqld at boot time you have tocopy
support-files/mysql.server to the rightplace for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THEMySQL root USER !

To do so, start the server, then issue thefollowing commands:

 /usr/local/mysql//bin/mysqladmin -u root password 'new-password'

 /usr/local/mysql//bin/mysqladmin -u root -h localhost.localdomainpassword 'new-password'

Alternatively you can run:

 /usr/local/mysql//bin/mysql_secure_installation

which will also give you the option ofremoving the test

databases and anonymous user created bydefault.  This is

strongly recommended for productionservers.

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 withmysql-test-run.pl

  cdmysql-test ; perl mysql-test-run.pl

Please report any problems athttp://bugs.mysql.com/

The latest information about MySQL isavailable on the web at

 http://www.mysql.com

Support MySQL by buying support/licenses athttp://shop.mysql.com

New default config file was created as/usr/local/mysql//my.cnf and
will be used by default by the server whenyou start it.
You may edit this file to change serversettings

WARNING: Default config file /etc/my.cnfexists on the system
This file will be read by default by theMySQL server
If you do not want to use this, eitherremove it, or use the
--defaults-file argument to mysqld_safewhen starting the server
           

注:本次启动有一个报错如下:

FATAL ERROR: please install the followingPerl modules before executing ./scripts/mysql_install_db:

Data::Dumper

解决方案:

[[email protected] mysql]# yum install -yperl-Module-Install.noarch

6、修改my.cnf配置文件

复制/usr/local/mysql/support-files/my-default.conf 文件到/etc/ 目录下,覆盖原有的配置文件mysql/my.cnf:

[[email protected] mysql]# cp support-files/my-default.cnf  /etc/my.cnf
           

修改/etc/my.cnf 文件,指定datadir、basedir 路径,同时开启3306端口:

basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
           

7、复制mysql 启动脚本mysql.server 到/etc/init.d/mysqld

[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld
           

8、修改启动脚本的权限为755,赋予执行权限

[[email protected] mysql]# chmod 755 /etc/init.d/mysqld
           

9、通过chkconfig命令将mysqld服务加入到自启动服务项中:

[[email protected] init.d]# pwd
/etc/init.d

[[email protected] init.d]# chkconfig --add mysqld
           

检查是否加入到自动启动

[[email protected] init.d]# chkconfig --list mysqld
mysqld          0:off   1:off  2:on    3:on    4:on   5:on    6:off
           

10、启动mysql服务:

[[email protected] mysql]# service mysqld start
Starting MySQL... SUCCESS!
           

11、进入mysql

[[email protected] mysql]#/usr/local/mysql/bin/mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.26 MySQL CommunityServer (GPL)

Copyright (c) 2000, 2015, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its
affiliates. Other names may be trademarksof their respective
owners.

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

mysql>
           

注:在/etc/profile中加入以下环境变量,可以用mysql代替/usr/local/mysql/bin/mysql启动

MYSQL_HOME=/usr/local/mysql

exportPATH=$PATH:$MYSQL_HOME/bin

设置后需要重新加载一下:

[[email protected] mysql]# source /etc/profile
           

再次进入mysql

[[email protected] mysql]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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> 
           

继续阅读