MySQL数据库有四种安装方法:
- 源码包编译安装
- RPM包安装
- 二进制文件安装
- 官方yum源安装
这里我们主要介绍二进制包的安装方法
在MySQL官网下载二进制包并且上传到服务器上
解压二进制包
[root@localhost software]# tar zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz```
> 创建MySQL软件的运行用户
[root@localhost software]# useradd mysql -s /sbin/nologin -M
[root@localhost software]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)```
将解压出来的二进制包移到到MySQL的安装路径/usr/local下
[root@linux1 software]# cp -R mysql-5.6.32-linux-glibc2.5-x86_64 /usr/local/
切换到/usr/local路径下穿件mysql的软连接方便以后记录版本号和升级
[root@linux1 software]# cd /usr/local/
[root@linux1 local]# ln -s mysql-5.6.32-linux-glibc2.5-x86_64/ mysql
[root@linux1 local]# ll
total 44
drwxr-xr-x. 2 root root 4096 Sep 23 2011 bin
drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc
drwxr-xr-x. 2 root root 4096 Sep 23 2011 games
drwxr-xr-x. 2 root root 4096 Sep 23 2011 include
drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib
drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib64
drwxr-xr-x. 2 root root 4096 Sep 23 2011 libexec
lrwxrwxrwx 1 root root 35 Nov 17 23:22 mysql -> mysql-5.6.32-linux-glibc2.5-x86_64/
drwxr-xr-x 13 root root 4096 Nov 17 23:22 mysql-5.6.32-linux-glibc2.5-x86_64
drwxr-xr-x. 2 root root 4096 Sep 23 2011 sbin
drwxr-xr-x. 5 root root 4096 Nov 17 22:36 share
drwxr-xr-x. 2 root root 4096 Sep 23 2011 src
初始化安装MySQL数据库
初始化的过程中可能会遇到缺少libaio的报错,如下:
自行yum安装即可
[root@linux1 mysql]# yum install libaio libaio-devel -y
修改data目录权限,初始化安装数据库
[root@localhost mysql]# chown -R mysql:mysql data/
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
修改MySQL的配置文件
[root@linux1 mysql]# vim my.cnf
cp: overwrite `/etc/my.cnf'? y
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql #MySQL的安装目录
datadir = /usr/local/mysql/data #MySQL的数据目录
port = 3306 #MySQL的端口号,可做多实例安装
server_id = 131
socket = /tmp/mysql.sock #通信socket,多实例安装时指定各自的sock
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
拷贝MySQL的配置文件copy到默认/etc/my.cnf下
[root@linux1 mysql]# /bin/cp my.cnf /etc/my.cnf #使用/bin/cp命令可以直接覆盖源文件不出现提示,在脚本中可以应用
将MySQL的系统命令复制到bin目录下
[root@linux1 bin]# cp * /usr/bin/
指定配置文件启动MySQL
养成指定配置文件的习惯,因为在多实例安装的时候可能使用不同的配置文件,虽然默认的配置文件存放在/etc/my.cnf下
[root@linux1 bin]# ./mysqld_safe --defaults-file=/etc/my.cnf
161117 23:42:39 mysqld_safe Logging to '/usr/local/mysql/data/linux1.err'.
161117 23:42:39 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
^Z
[1]+ Stopped ./mysqld_safe --defaults-file=/etc/my.cnf
检查是否启动MySQL服务
[root@linux1 bin]# ps -ef | grep mysql
root 1842 1740 0 23:42 pts/1 00:00:00 /bin/sh ./mysqld_safe --defaults-file=/etc/my.cnf
mysql 1986 1842 0 23:42 pts/1 00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/linux1.err --pid-file=/usr/local/mysql/data/linux1.pid --socket=/tmp/mysql.sock --port=3306
root 2013 1740 0 23:45 pts/1 00:00:00 grep mysql
[root@linux1 bin]# netstat -lntup | grep 3306
tcp 0 0 :::3306 :::* LISTEN 1986/mysqld
创建MySQL的数据库管理员的账号和密码
此处同样建议指定socket文件启动,socket文件的路径设置到my.cnf文件下
[root@linux1 ~]# mysqladmin -uroot password -S /tmp/mysql.sock
New password:
Confirm new password:
成功进入MySQL数据库
[root@linux1 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.32 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, 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)
mysql>