mysql三种安装方法:
RPM包、通用二进制、源码编译(时间较长不推荐)
二进制方式安装:
一、下载二进制包:
官方二进制包下载地址:https://downloads.mysql.com/archives/community/
清华大学镜像站下载地址:https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6/
[root@localhost ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
[root@localhost ~]# tar -xf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost ~]# mv /usr/local/mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql
二、初始化数据库:
[root@localhost ~]# mkdir -p /data/mysql
[root@localhost ~]# useradd -r -s /sbin/nologin mysql
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql
[root@localhost ~]# chown -R mysql.mysql /data/mysql
[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# scripts/mysql_install_db --datadir=/data/mysql --user=mysql
FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper
mysql初始化报错,安装下面autoconf库可以解决;
[root@localhost mysql]# yum -y install autoconf
三、提供配置文件和启动脚本:
[root@localhost mysql]# cp -a support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# cp -a support-files/my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id = 1
log_bin = /data/mysql/mysql-bin.log
binlog_format = ROW
socket = /data/mysql/mysql.sock
pid-file = /data/mysql/mysql.pid
log-error = /data/mysql/mysql_error.log
character-set-server = utf8
init_connect='SET NAMES utf8'=/data/mysql
[client]
port = 3306
socket = /data/mysql/mysql.sock
default-character-set = utf8
....省略
my.cnf配置文件详解见https://www.jianshu.com/p/f74ddf4f4372
创建 mysql服务,使用systemd管理mysql;
[root@localhost mysql]# vim /usr/lib/systemd/system/mysqld.service
#
# Simple MySQL systemd service file
#
# systemd supports lots of fancy features, look here (and linked docs) for a full list:
# http://www.freedesktop.org/software/systemd/man/systemd.exec.html
#
# Note: this file ( /usr/lib/systemd/system/mysql.service )
# will be overwritten on package upgrade, please copy the file to
#
# /etc/systemd/system/mysql.service
#
# to make needed changes.
#
# systemd-delta can be used to check differences between the two mysql.service files.
#
[Unit]
Description=MySQL Community Server
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
[Service]
User=mysql
Group=mysql
# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables etc.
ExecStartPre=/usr/bin/mysql-systemd-start pre
# Start main service
ExecStart=/usr/bin/mysqld_safe
# Don't signal startup success before a ping works
ExecStartPost=/usr/bin/mysql-systemd-start post
# Give up if ping don't get an answer
TimeoutSec=600
Restart=always
PrivateTmp=false
启动mysql并加入开机启动;
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl enable mysqld
四、首次登录修改密码,mysql5.6首次登录没有密码:
[root@localhost ~]# mysql -uroot -p
mysql>
登录mysql修改"root@localhost"密码:
这里我设置root的密码为“root”
mysql> use mysql;
mysql> update user set password=password("root") where user="root";
mysql> flush privileges;#刷新数据库权限