美文网首页
MySQL5.7 安装部署

MySQL5.7 安装部署

作者: 小熊渣渣 | 来源:发表于2021-01-24 18:58 被阅读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)
    
    ④关闭数据库,正常启动验证

    相关文章

      网友评论

          本文标题:MySQL5.7 安装部署

          本文链接:https://www.haomeiwen.com/subject/chamzktx.html