美文网首页
二进制部署mysql

二进制部署mysql

作者: 自由如风才是少年的梦 | 来源:发表于2023-12-18 13:39 被阅读0次

    下载安装包

    请选择指定版本下载

    https://downloads.mysql.com/archives/community/

    或者:

    
    
    安装(base)路径:/var/lib/mysql/
    
    Data路径:/data/mysql/data
    
    Log路径:/data/mysql/log
    
    My.cnf路径:/data/mysql/conf/my.cnf
    
    Mysql.service路径:/usr/lib/systemd/system/mysql.service
    
    账号:root
    
    密码:
    
    启动:systemctl start mysqld
    

    安装

    1.创建mysql用户
    useradd -M -r -d /dev/null -s /sbin/nologin mysql
    
    2.解压
    tar xf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /var/lib/
    mv /var/lib/mysql-5.7.32-linux-glibc2.12-x86_64/ /var/lib/mysql
    
    3.创建data,log路径
    mkdir -p /data/mysql/{data,logs,conf} 
    
    4.配置my.cnf

    上传my.cnf

    参数解释:

    #数据路径
    datadir=/var/lib/mysql
    #sock文件
    socket=/tmp/mysql.sock
    
    5.修改属主/属组
    chown -R mysql.mysql /data/mysql/
    chown -R mysql.mysql /var/lib/mysql/
    
    6.初始化
    /var/lib/mysql/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf --initialize-insecure --basedir=/var/lib/mysql --datadir=/data/mysql/data --user=mysql
    
    7.使用systemd管理
    vi /etc/systemd/system/mysqld.service
    
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(5.7.38)
    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
    # Disable service start and stop timeout logic of systemd for mysqld service.
    TimeoutSec=0
    # Execute pre and post scripts as root
    PermissionsStartOnly=true
    #对路径进行修改
    ExecStart=/var/lib/mysql/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf
    
    # Sets open_files_limit
    LimitNOFILE = 10000
    
    Restart=on-failure
    
    RestartPreventExitStatus=1
    
    # Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
    Environment=MYSQLD_PARENT_PID=1
    
    PrivateTmp=false
    
    
    8.管理mysqld服务

    启动

    systemctl daemon-reload
    systemctl start mysqld
    

    查看状态

    systemctl status mysqld
    

    修改密码

    1.在my.cnf文件中添加
    vim /data/mysql/conf/my.cnf
    skip-grant-tables
    
    2.重启mysql
    systemctl restart mysqld
    
    3.修改密码
    /var/lib/mysql/bin/mysql -uroot -p -S /var/lib/mysql/mysql.sock
    
    use mysql;
    update mysql.user set authentication_string=password('Gjxx@1q2w3e4r') where user='root' and Host ='localhost';
    FLUSH PRIVILEGES;
    CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Gjxx@1q2w3e4r';
    FLUSH PRIVILEGES;
    GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION; 
    GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION; 
    FLUSH PRIVILEGES;
    exit
    
    4.注释掉my.cnf
    #skip-grant-tables
    
    5.重启数据库
    systemctl restart mysqld
    

    登录

    /var/lib/mysql/bin/mysql -uroot -pGjxx@1q2w3e4r -S /var/lib/mysql/mysql.sock
    

    注:

    这个sock文件在my.cnf文件中定义的
    

    完成!

    相关文章

      网友评论

          本文标题:二进制部署mysql

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