官方下载地址
https://downloads.mysql.com/archives/community/
安装过程(centos 7 )
[root@db01 ~]# mkdir -p /server/tools
[root@db01 ~]# cd /server/tools/
[root@db01 tools]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
[root@db01 ~]# mkdir -p /application
[root@db01 tools]# mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql
[root@db01 mysql]#cd /application/mysql/
添加磁盘,将数据存储到新的磁盘
添加一块20G的磁盘
image.png
创建用户,并将系统中mariadb删除
[root@db01 ~]# rpm -qa|grep mariadb
[root@db01 ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64
创建用户
[root@db01 ~]# useradd -s /sbin/nologin mysql
[root@db01 ~]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
设置环境变量
[root@db01 ~]#vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@db01 ~]#source /etc/profile
[root@db01 ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapper
创建数据盘
[root@db01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 1G 0 part [SWAP]
└─sda3 8:3 0 18.8G 0 part /
sdb 8:16 0 20G 0 disk
sr0 11:0 1 4.3G 0 rom
[root@db01 ~]# mkfs.xfs /dev/sdc
[root@db01 ~]# mkdir /data
[root@db01 ~]# blkid
/dev/sda1: UUID="771bbbe2-be24-4f8e-84a4-26b68aaf9f70" TYPE="xfs"
/dev/sda2: UUID="64f46939-669f-47ac-ae2b-ab53b57a995f" TYPE="swap"
/dev/sda3: UUID="9f08abdf-138b-4522-8eff-975408e715a5" TYPE="xfs"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sdb: UUID="737b78b8-e484-4ee5-9f5c-82c68bac4a4a" TYPE="xfs"
[root@db01 ~]#vim /etc/fstab
UUID="737b78b8-e484-4ee5-9f5c-82c68bac4a4a" /data xfs defaults 0 0
[root@db01 ~]# mount -a
[root@db01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 4.7G 15G 25% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.6M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb 20G 33M 20G 1% /data
授权
[root@db01 ~]# chown -R mysql.mysql /application/*
[root@db01 ~]# chown -R mysql.mysql /data
初始化数据(创建系统数据)
[root@db01 ~]# mkdir /data/mysql/data -p
[root@db01 ~]# chown -R mysql.mysql /data
[root@db01 ~]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
请记住密码 root@localhost: Eglfx(w<e2Z,
***************************************************
如果不想使用密码复杂度空密码进入
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
***************************************************
如果报错
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
[root@db01 ~]# yum install -y libaio-devel -y
[root@db01 ~]# cd /data/mysql/data/
[root@db01 data]# ll
total 110628
-rw-r-----. 1 mysql mysql 56 Nov 20 21:22 auto.cnf
-rw-r-----. 1 mysql mysql 419 Nov 20 21:22 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 Nov 20 21:22 ibdata1
-rw-r-----. 1 mysql mysql 50331648 Nov 20 21:22 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 Nov 20 21:22 ib_logfile1
drwxr-x---. 2 mysql mysql 4096 Nov 20 21:22 mysql
drwxr-x---. 2 mysql mysql 8192 Nov 20 21:22 performance_schema
drwxr-x---. 2 mysql mysql 8192 Nov 20 21:22 sys
说明:
--initialize参数
1.对于密码复杂度定制 12位,4种
- 密码过期时间:180天
- 给root@localhost用户设置临时密码
配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
启动数据库
service的启动方式
[root@db01 data]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db01 data]# service mysqld start
systemd的启动方式
[root@db01 data]# vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
[root@db01 data]# systemctl start mysqld
[root@db01 data]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 8453 mysql 16u IPv6 46840 0t0 TCP *:mysql (LISTEN)
无法启动的故障
查看日志
cd /data/mysql/data
ls
有一个主机名.err
-rw-r-----. 1 mysql mysql 7520 Nov 20 21:30 db01.err
image.png
权限的问题,没有授权
其他情况
主要是看[ERROR]
可能是/etc/my.cnf路径不对
/tmp/mysql.sock文件修改过
数据目录权限不是mysql
参数改错了
管理员密码的设定
[root@db01 data]# mysqladmin -uroot -p password 123456
Enter password: #输入旧的密码
管理员用户忘记密码
关闭数据库
[root@db01 data]# systemctl stop mysqld
[root@db01 data]# mysqld_safe --skip-grant-tables --skip-networking &
--skip-grant-tables #跳过授权表
--skip-networking #跳过远程登陆
登陆并修改密码
alter user root@'localhost' identified by '123456';
flush privileges; #如果报错 就刷新一下
alter user root@'localhost' identified by '123456';
关闭数据库,再次启动就可以了