MySQL5.7 安装部署

2021-01-24  本文已影响0人  小熊渣渣

01,需要学习的内容

(1).MySQL 5.7 安装部署(二进制) *****
编译自己扩展
(2).MySQL升级步骤扩展 ***
(3).MySQL5.7 体系结构原理 *****
(4).MySQL基础管理 *****
(5).基础SQL语句使用 *****
(6).SQL高级应用 ***
(7).Information schema获取元数据 ***
(8).索引、执行计划管理(基础优化)*****
(9).存储引擎 *****
(10).日志管理 *****
(11).备份与恢复 *****
(12).主从复制及架构演变 *****
(13).传统的高可用及读写分离(MA&Atlas)****
(14).传统分布式架构设计与实现-扩展 (Mycat--->DBLE,DRDS) **
(15).MySQL 5.7 高可用及分布式架构-扩展(MGR,InnoDB,Cluster)***
(16).MySQL优化(安全、性能)****
(17).MySQL监控(zabbix、Open-falcon) ****
(18).RDS(阿里云课程)*****

02,MySQL 5.7.26 二进制版本安装

1,下载并上传软件至/server/tools

mkdir -p /server/tools
cd /server/tools/
yum -y install lrzsz

2,解压软件

 tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
 mkdir /application
 mv mysql-5.7.26-linux-glibc2.12-x86_64    /application/mysql

3,用户创建处理原始环境

yum remove mariadb-libs-5.5.56-2.el7.x86_6  -y
rpm -qa |grep mariadb
useradd -s /sbin/nologin mysql

4,设置环境变量

vim /etc/profile
export PATH=/application/mysql/bin:$PATH
source /etc/profile
mysql -V

03,创建数据路径并授权

①添加一块新磁盘模拟数据盘
②格式化并挂载磁盘
mkfs.xfs /dev/sdb
mkdir /data
blkid
vim /etc/fstab
UUID=6d7ceb78-5672-48eb-8e3e-7144f99678b9 /data                   xfs     defaults        0 0
mount -a
df -h
③授权
chown -R mysql.mysql /application/*
chown -R mysql.mysql /data

04,初始化数据(创建系统数据)

5.7版本初始化命令
mkdir /data/mysql/data -p
chown -R mysql.mysql /data
mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

说明:
--initialize 参数:
1.对于密码复杂度进行制定: 12位,4种
2.密码过期时间:180
3.给root@localhost用户设置临时密码
报错:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:

yum install -y libaio-devel
mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
新特性重要说明:

5.7开始,MySQL加入了全新的 密码的安全机制:
1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合
3.密码过期时间180天
2021-01-24T09:18:41.538537Z 1 [Note] A temporary password is generated for root@localhost: #j#g;ZB,s94)

使用如下参数可忽略此特性

--initialize-insecure 参数:
无限制,无临时密码

[root@oldboyedu ~]# \rm -rf /data/mysql/data/*
mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

注释:5.6初始化的区别

/application/mysql/scripts/mysql_install_db  --user=mysql --datadir=/data/mysql/data --basedir=/application/mysql

05,配置文件准备

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

06,启动数据库

①sys-v方式

cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld
service mysqld restart
service mysqld stop #停止服务
/etc/init.d/mysql restart  #centos 6 中使用绝对路径的启动方法
/etc/init.d/mysql stop #停止服务

判断一个服务是否启动(以mysql为例)

netstat -lnp |grep 3306
ps -ef |grep 3306
ps -ef |grep mysqld

② systemd方式

注意: sysv方式启动过的话,需要先提前关闭,才能以下方式登录

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

配置文件创建好后,就可以用systemd管理了

systemctl  start/stop/restart/status   mysqld

07,如何分析处理MySQL数据库无法启动

①without updating PID 类似错误

查看日志:
在哪?
/data/mysql/data/主机名.err
[ERROR]上下文

②可能情况:

/etc/my.cnf 路径不对等
/tmp/mysql.sock 文件修改过 或删除过
数据目录权限不是mysql
参数改错了

8.管理密码的设定(root@localhost)

mysqladmin -uroot -p password 123

9.管理员用户密码忘了?(面试题)

--skip--grant-tables #跳过授权表
--skip-networking #跳过远程登录

①关闭数据库
/etc/init.d/mysqld stop
②启动数据库的维护模式

ps:维护模式只能在数据库服务器本地连接

mysqld_safe --skip-grant-tables --skip-networking &
③登录并修改密码
mysql> alter user root@'localhost' identified by '1';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> alter user root@'localhost' identified by '1';
Query OK, 0 rows affected (0.00 sec)
④关闭数据库,正常启动验证
上一篇下一篇

猜你喜欢

热点阅读