lnmp

mysql5.7二进制安装

2019-08-27  本文已影响0人  北疆07

MySQL 二进制版本安装

一、情况说明

二、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<<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-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
12. 启动数据库
[root@mysql ~]# systemctl start mysqld
[root@mysql ~]# netstat -lntup |grep 3306   #查看是否启动成功
13. 管理员密码设置(root@localhost)
[root@db01 ~]# mysqladmin -uroot -p password wuyonghui123
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数据库无法启动

<font color=#008000>without updating PID 类似错误</font>

<font color=#008000> 查看日志:data/mysql/data/主机名.err 找[ERROR] 中括号是ERROR的 </font>

可能原因:

四、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
5.7版本以后,加强了用户密码安全管理的功能
1.对与密码负载度进行定制:12位,4种
2.密码过期时间:180
3.给root@localhost用户设置临时密码

#生产常用方法(空密码)
[root@mysql ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

--initialize-insecure
启用非安全模式,进行数据初始化

添加一块新磁盘,不重启就可以发现的办法
[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
上一篇下一篇

猜你喜欢

热点阅读