MySQL 二进制版本安装

MySQL 二进制版本安装

一、情况说明

  • 安装版本:MySQL 5.7.26
  • 操作系统:CentOS 7.6

二、mysql的部署

01. 下载并上传软件
[root@mysql ~]# mkdir -p /server/scripts
[root@mysql ~]# cd /server/scripts/
[root@mysql /server/scripts]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
02. 解压
[root@mysql /server/scripts]# mkdir /application
[root@mysql /server/scripts]# mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql
03. 处理原始环境
[root@mysql /server/scripts]# rpm -qa |grep mariadb	
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@mysql /server/scripts]# yum remove mariadb-libs.x86_64 -y	
## 卸载此软件或删除/etc/my.cnf 	否则会报错
04. 创建用户
[root@mysql ~]# useradd -s /sbin/nologin mysql
[root@mysql ~]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
05. 设置环境变量(添加到尾部)
[root@mysql ~]# vim /etc/profile		
export PATH=/application/mysql/bin:$PATH
[root@mysql ~]# source /etc/profile
[root@mysql ~]# mysql -V	==> 检查是否生效
mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper
06. 添加一块新磁盘,模拟生产环境下的数据盘
07. 格式化并挂载磁盘
[root@mysql ~]# mkfs.xfs /dev/sdb
[root@mysql ~]# mkdir /data			##存放所有数据库数据
[root@mysql ~]# blkid				##查看磁盘的UUID
[root@mysql ~]# vim /etc/fstab 		##写入开机自启动
UUID=aa617745-ecac-4a77-a679-919a52851af0 /data             xfs     defaults        0 0
[root@mysql ~]# mount -a			##挂载
[root@mysql ~]# df -h				##查看是否挂载成功
08. 授权
[root@mysql ~]# mkdir /data/mysql/data -p
[root@mysql ~]# chown -R mysql:mysql /data/
[root@mysql ~]# chown -R mysql.mysql /application/*
09. 初始化数据(创建系统数据)
[root@mysql ~]# mkdir /data/mysql/data -p
[root@mysql ~]# chown -R mysql:mysql /data/
[root@mysql ~]# yum install -y libaio-devel
[root@mysql ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
10. 编写配置文件
[root@mysql ~]# 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
11. 配置systemd管理
[root@mysql ~]# cat /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
12. 启动数据库
[root@mysql ~]# systemctl start mysqld
[root@mysql ~]# netstat -lntup |grep 3306	#查看是否启动成功
13. 管理员密码设置(root@localhost)
[root@db01 ~]# mysqladmin -uroot -p password oldboy123
Enter password: 	#==> 无密码,直接回车

三、MySQL安装报错

错误1:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

报错原因:缺少libao-devel包
解决方法:yum install -y libaio-devel
错误2:
[root@mysql /data/mysql/data]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
2019-07-25T13:17:21.338642Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-07-25T13:17:21.341533Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2019-07-25T13:17:21.341574Z 0 [ERROR] Aborting

报错原因:/data/mysql/data下目录下有文件(mysql的保护措施)
解决办法:清空/data/mysql/data !!!只在全新环境情况,
错误3:
[root@mysql /application/mysql/support-files]# ./mysql.server start
Starting MySQL.sed: -e expression #1, char 19: unknown option to `s'
Logging to '/data/mysql/data/mysql.err'.
.... ERROR! The server quit without updating PID file (/data/mysql/data/mysql.pid).

解决方法:查看错误日志/data/mysql/data/mysql.err
/etc/my.cnf配置文件编写错误(参数改错了)
如何分析处理MySQL数据库无法启动

without updating PID 类似错误

查看日志:data/mysql/data/主机名.err 找[ERROR] 中括号是ERROR的

可能原因:

  • /etc/my.cnf 路径不对等

  • /tmp/mysql.sock 文件修改过 或 删除过

  • 数据目录权限不是mysql

  • 参数改错了

四、MySQL补充

查看mysql是否启动的方法
[root@mysql ~]# netstat -lntup |grep 3306
[root@mysql ~]# ps -ef|grep mysqld
[root@mysql ~]# systemctl status mysqld
[root@mysql ~]# lsof -i :3306	#需要下载lsof包
[root@mysql ~]# mysql #直接进入
初始化数据(5.6版本)
#MySQL的安装路径
[root@mysql ~]#  /application/mysql/scripts/mysql_install_db
初始化数据(5.7版本)
#官方推荐方法(生成一个临时的随机密码)
[root@mysql ~]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data	

--initialize
1.对与密码负载度进行定制:12位,4种
2.密码过期时间:180
3.给root@localhost用户设置临时密码

#生产常用方法(空密码)
[root@mysql ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
添加一块新磁盘,不重启就可以发现的办法
[root@mysql ~]# cd  /sys/class/scsi_host/
[root@mysql /sys/class/scsi_host]# echo "- - -" > host0/scan 	##接口扫描新加磁盘
[root@mysql /sys/class/scsi_host]# fdisk -l	##发现新加磁盘
忘记MySQL密码的解决方法
01、关闭mysql
[root@db01 ~]# systemctl stop mysqld.service 

02、启动数据库到维护模式
[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &

03、登录并修改密码
[root@db01 ~]# mysql
mysql> flush privilegers;
mysql> alter user root@'localhost' identified by '123';

04、关闭数据库,正常启动验证
[root@db01 ~]# pkill mysqld 
[root@db01 ~]# systemctl start mysqld.service 
[root@db01 ~]# mysql -uroot -p123 #修改成功
启动数据库的方法
1.sys-v (CentOS 6 7)
[root@mysql ~]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@mysql ~]# service mysqld status

2.systemd管理(CentOS 7)
[root@mysql ~]# cat /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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值