Mysql数据库二进制安装

MySQL数据库有四种安装方法:

  1. 源码包编译安装
  2. RPM包安装
  3. 二进制文件安装
  4. 官方yum源安装

这里我们主要介绍二进制包的安装方法

在MySQL官网下载二进制包并且上传到服务器上

mysql-5.6.32

解压二进制包

[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的报错,如下:

libaio.so报错
自行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> 
原文地址:https://www.cnblogs.com/zhangsubai/p/6776776.html