• Linux mysql 8.0 安装


    1. 下载 https://dev.mysql.com/downloads/mysql/

    选择

     2.上传至服务器

    3.配置hosts文件(通过别名访问)

      服务IP地址 别名 别名   比如:192.168.1.52 alq alq

    4.卸载主机自带的mysql

    rpm -qa|grep mysql
    rpm -e --nodeps *mysql*
    
    rpm -qa|grep mariadb
    rpm -e --nodeps mariadb*

    5.解压并安装

    tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar
    rm -f mysql-8.0.28-linux-glibc2.12-x86_64.tar
    xz -d mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
    tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar
    mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/
    mv /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
    mkdir /var/lib/mysql
    mkdir /usr/local/mysql/log
    mkdir /usr/local/mysql/data
    
    ### 授权
    查看用户组mysql是否存在
    id mysql
    如果存在先卸载掉
    userdel mysql 
    groupdel mysql
    添加用户组mysql
    groupadd mysql
    添加不可登陆的用户mysql
    useradd -r -g mysql -s /bin/false mysql
    
    授权 mysql组mysql用户
    chown -R mysql:mysql /var/lib/mysql
    chown -R mysql:mysql /usr/local/mysql/log
    chown -R mysql:mysql /usr/local/mysql/data
     

    6.配置环境变量

    vi ~/.bash_profile
    path追加 
    PATH=$PATH:/usr/local/mysql/bin

    使环境变量生效

    source ~/.bash_profile
    
    ###检测安装目录可以查到就说明生效了
    which mysql

    7.创建参数文件(因为mysql8 没有自动生成my.cnf) 

    vi /etc/my.cnf
    ### 添加 其中alq字样 是服务器别名
    [mysql]
    default-character-set=utf8mb4
    socket=/var/lib/mysql/mysql.sock
    
    [mysqld]
    port=3306
    socket=/var/lib/mysql/mysql.sock
    basedir=/usr/local/mysql
    character-set-server=utf8mb4
    default-storage-engine=INNODB
    innodb_buffer_pool_size = 200M
    max_allowed_packet=16M
    explicit_defaults_for_timestamp=1
    log-output=FILE
    general_log =0
    general_log_file=/usr/local/mysql/log/alq-general.err
    slow_query_log = ON
    slow_query_log_file=/usr/local/mysql/log/alq-query.err
    long_query_time=10
    log-error=/usr/local/mysql/log/alq-error.err
    default-authentication-plugin=mysql_native_password

    8.mysql数据库初始化

    /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

    然后在 /usr/local/mysql/log 下 alq-error.err中查看是否初始化成功

     有个重要信息是初始密码

    这个一定要记录下来

    9.配置启动和停止脚本

    vi /usr/lib/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=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE=65536
    LimitNPROC=65536

    添加可执行权限

    chmod u+x /usr/lib/systemd/system/mysqld.service

    10.systemctl启动和停止方法

    systemctl daemon-reload  # 装载
    systemctl stop mysqld
    systemctl start mysqld
    systemctl enable mysqld
    systemctl status mysqld

    11.修改初始密码

    mysql -uroot -p
    Enter password: #步骤8的初始密码
    
    mysql>use mysql;
    # 会报初始密码过期
    
    mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'
    #修改root用户的密码为root

    12.允许root远程登录

    mysql>use mysql;
    mysql>select user,host from user;
    mysql>grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
    
    #root帐户和密码(root)
    
    #或者创建用户
    CREATE USER 'rainbowbaby'@'%' IDENTIFIED WITH mysql_native_password BY 'rnh3GEdLpRXtNjfZ';
    grant all privileges on *.* to 'rainbowbaby'@'%';
    
    远程访问测试
    mysql -uroot -p -h192.168.1.52

     关闭防火墙

    firewall-cmd --state
    systemctl stop firewalld.service
    systemctl disable firewalld.service
  • 相关阅读:
    Git一些简单但非常重要并常用的操作命令
    利用fastjson解析json并通过js&ajax实现页面的无跳转刷新
    利用Graphviz绘制逻辑关系依赖图
    oracle导入.dmp文件
    Linux查找当前目录5天的文件并打包
    Web安全相关(三):开放重定向(Open Redirection)
    Web安全相关(二):跨站请求伪造(CSRF/XSRF)
    Web安全相关(一):跨站脚本攻击(XSS)
    密码学应用(DES,AES, MD5, SHA1, RSA, Salt, Pkcs8)
    行为驱动开发(BDD)实践示例
  • 原文地址:https://www.cnblogs.com/xiaojunbo/p/15883989.html
Copyright © 2020-2023  润新知