MySQL5.7.26安装及启动报错解决

一、安装依赖包

[root@db01 ~]# yum install -y lrzsz  [文件上传/下载]
[root@db01 ~]# yum -y install xfsprogs    [安装磁盘格式化命令mkfs.xfs]

二、创建相关目录

[root@db01 ~]# mkdir -p /server/tools
[root@db01 ~]# mkdir /application    [应用程序存放目录]
[root@db01 ~]# mkdir /data          [数据文件存放目录]

三、创建一块新的磁盘做数据盘

#1、VMware虚拟机上添加新磁盘
#2、查看是否创建成功:
[root@db01 ~]# fdisk -l
#3、格式化磁盘
[root@db01 ~]# mkfs.xfs /dev/sdb
#4、查看磁盘UUID
[root@db01 ~]# blkid
/dev/sda3: UUID="f4e85127-b92c-44f4-8317-aefeefe7d58f" TYPE="ext4" 
/dev/sda1: UUID="af935046-a36b-4138-89a0-3f42ee2b605c" TYPE="ext4" 
/dev/sda2: UUID="4675ed90-d3b2-4b58-a40c-39e9736fb90b" TYPE="swap" 
/dev/sdb: UUID="6b80189b-b782-427d-b7f5-3d3f815bead3" TYPE="xfs" 
#5、修改自启动磁盘配置文件[永久挂载磁盘]
[root@db01 ~]# vim /etc/fstab
末尾添加一行:UUID=6b80189b-b782-427d-b7f5-3d3f815bead3 /data xfs defaults 0 0
#6、临时挂载磁盘
[root@db01 ~]# mount -a
#7、查看挂载情况
[root@db01 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        47G  4.6G   41G  11% /
tmpfs           931M     0  931M   0% /dev/shm
/dev/sda1       190M   40M  141M  22% /boot
/dev/sdb         10G   33M   10G   1% /data

四、创建mysql用户和组

说明:mysql用户和组不需要登录和进行操作,而是ySQL自己管理的虚拟用户

[root@db01 ~]# useradd -s /sbin/nologin -M mysql 
[root@db01 ~]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)

五、删除系统自带的数据库软件

[root@db01 ~]# rpm -qa | grep mariadb
[root@db01 ~]# rpm -qa | grep mysql
[root@db01 ~]# yum remove mariadb~  [删除mariadb相关软件包]
[root@db01 ~]# yum remove mysql~  [删除mysql相关软件包]

六、上传压缩包、解压、拷贝文件

[root@db01 ~]# cd /server/tools
[root@db01 tools]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
[root@db01 tools]# mv /server/tools/mysql-5.7.26-linux-glibc2.12-x86_64 /application/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 ~]# 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 ~]# yum install -y libaio-devel
参数说明:
--initialize 参数:
1.给root@localhost用户设置临时密码;对于密码复杂度进行定制:默认创建4种12位密码
2.密码过期时间:180 (mysql5.7版本默认永不过期)

--initialize-insecure 参数:无限制、无临时密码
[root@db01 ~]# /application/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

补充说明:
mysql5.6初始化数据方式:[root@db01 ~]# /application/mysql/scripts/mysql_install_db

十、书写默认配置文件

说明:让mysql启动时以自己想要的方式启动

[root@db01 ~]# cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF

十一、启动数据库(sys-v 和systemd模式)

#1、sys-v 启动方式
[root@db01 ~]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db01 ~]# service mysqld start
#2、systemd启动方式
注意:sys-v方式启动过的话,需要提前关闭,才能以下方式登录
[root@db01 ~]# cat >/etc/systemd/system/mysql.server <<EOF
[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=/etc/my.cnf
LimitNOFILE = 5000
EOF

十二、管理员密码设定(root@localhost)

[root@db01 ~]# mysqladmin -uroot -p password test123   [设置mysql数据库密码]
Enter password: 
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

  [root@db01 ~]# mysql    [设定好了密码后,十一mysql命令登录就会报错]
  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@db01 ~]# mysql -uroot -p  [正确登录方式:mysql数据库带密码登录]
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 11
Server version: 5.7.26 MySQL Community Server (GPL)

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

补充说明:安装启动报错解决

如何分析处理mysql数据库无法启动
    #1、without updating PID 类似错误
        查看日志:
        在哪?
        /data/mysql/data/主机名.err
        [ERROR]上下文

#2、报错可能情况:
        /etc/my.cnf 路径不对等
       /tmp/mysql.sock文件修改过 或删除过
       数据目录权限不是mysql
       参数修改错了

原文地址:https://www.cnblogs.com/l75790/p/12960666.html