zoukankan      html  css  js  c++  java
  • CentOS7.9二进制方式安装mysql5.7

    1、删除centos系统自带的mariadb数据库防止发生冲突
    [root@centos7-85 ~]# rpm -qa | grep mariadb
    mariadb-libs-5.5.68-1.el7.x86_64
    [root@centos7-85 ~]# rpm -e mariadb-libs --nodeps
     
    2、安装libaio库
    [root@centos7-85 ~]# yum -y install libaio
     
    3、下载并解压mysql-5.7.25
    [root@centos7-85 ~]#cd /opt
    [root@centos7-85 opt]# tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
     
    4、查看是否有mysql用户和mysql用户组
    [root@centos7-85 opt]# cat /etc/passwd|grep mysql
    [root@centos7-85 opt]# cat /etc/group|grep mysql #如果存在,则删除用户和用户组userdel -r mysql
     
    5、创建mysql用户及其用户组
    [root@centos7-85 opt]# groupadd mysql
    [root@centos7-85 opt]# useradd -r -g mysql mysql
     
    6、设置mysql用户为非登陆用户
    [root@centos7-85 opt]# usermod -s /sbin/nologin mysql
     
    7、创建basedir、datadir目录、pid文件
    [root@centos7-85 opt]# mkdir /opt/mysql
    [root@centos7-85 opt]# mkdir /opt/mysql/data
    [root@centos7-85 opt]# mv mysql-5.7.35-linux-glibc2.12-x86_64/* /opt/mysql/
    [root@centos7-85 opt]# touch /opt/mysql/mysqld.pid
    [root@centos7-85 opt]# chown -R mysql:mysql /opt/mysql
     
    8、创建日志
    [root@centos7-85 opt]# touch /var/log/mysqld.log
    [root@centos7-85 opt]# chown mysql:mysql /var/log/mysqld.log
     
    9、创建socket文件
    [root@centos7-85 opt]# touch /tmp/mysql.sock
    [root@centos7-85 opt]# chown mysql:mysql /tmp/mysql.sock
     
    10、创建配置文件vim /etc/my.cnf并加入如下内容
    [mysqld]
    character-set-server=utf8
    user=mysql
    port=3306
    basedir=/opt/mysql
    datadir=/opt/mysql/data
    socket=/tmp/mysql.sock
     
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/opt/mysql/mysqld.pid
     
    [client]
    port=3306
    socket=/tmp/mysql.sock
     
    11、安装初始化
    [root@centos7-85 opt]# cd /opt/mysql/bin/
    [root@centos7-85 bin]# ./mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
     

    没有设置初始密码

     
    12、设置开机启动
    复制启动脚本到资源目录:
    [root@centos7-85 bin]# cp ../support-files/mysql.server /etc/rc.d/init.d/mysqld
    增加mysqld控制脚本权限:
    [root@centos7-85 bin]# chmod +x /etc/rc.d/init.d/mysqld
    将mysqld加入到系统服务:
    [root@centos7-85 bin]# chkconfig --add mysqld
    [root@centos7-85 bin]# chkconfig --list mysqld
    检查mysqld服务是否生效:
    [root@centos7-85 bin]# chkconfig --list mysqld

     

    命令输出类似如下:
    现在即可使用service命令控制mysql启动、停止。
    PS:删除启动命令:
    chkconfig --del mysqld
     
    13、启动mysqld服务
    service mysqld start

     

    14、环境变量配置
    编辑/etc/profile,加入如下内容:
    [root@centos7-85 bin]# export PATH=$PATH:/opt/mysql/bin
    执行命令使其生效:
    source /etc/profile
     
    15、登录mysql
    mysql -uroot
    设置root密码:
    mysql> alter user "root"@"localhost" identified by "新密码";
    或者:
    mysql> set password = password('mysql');
    刷新权限:
    mysql> flush privileges;
    退出mysql,使用新密码登录mysql。
     
    16、添加远程登录用户
    默认只允许 root 帐户在本地登录mysql,如果要在其它机器上连接MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,可以添加一个新的帐户。
    mysql> grant all privileges on *.* to "用户名"@"IP地址" identified by "密码" with grant option;
     
    mysql> grant all privileges on *.* to yehailun@'%' identified by 'yehailun';
    Query OK, 0 rows affected, 1 warning (0.00 sec)
     
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
     
    17、开启防火墙mysql3306端口的外部访问
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload
    参数说明:
    • --zone:作用域,网络区域定义了网络连接的可信等级。
    • --add-port:添加端口与通信协议,格式:端口/通信协议,协议为tcp或udp。
    • --permanent:永久生效,没有此参数系统重启后端口访问失败。
     
    参考:
     
     

  • 相关阅读:
    管理页面的类 PageHelper
    接下来打算写一下visual stuido 2013使用git进行远端管理。
    转一下网上找来的tortoise git不用每次都输入邮箱和密码的方法。备查看
    tortoise git使用 git版本库的rsa key来进行ssh连接
    2015年4月1日 14:36:56 EF 主从表更新
    Oop分析方法
    Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇
    超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?
    从零开始入门 K8s | 可观测性:你的应用健康吗?
    Knative 暂时不会捐给任何基金会 | 云原生生态周报 Vol. 22
  • 原文地址:https://www.cnblogs.com/hailun1987/p/15764304.html
Copyright © 2011-2022 走看看