• Linux安装MySQL8


    卸载MariaDB

    1.检查

    rpm -qa|grep mariadb
    
    • 1

    2.卸载

    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    
    • 1

    3.检查是否卸载干净

    rpm -qa|grep mariadb
    
    • 1

    安装MySQL

    1.两种方法安装

    • 官网手动下载安装
    官网地址:https://dev.mysql.com/downloads/mysql/
    下载好后拖动到Linux/usr/local
    
    • 1
    • 2

    在这里插入图片描述

    • 网络安装
    cd /usr/local
    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
    
    • 1
    • 2

    2.解压

    .tar.gz后缀:tar -zxvf 文件名
    .tar.xz后缀:tar -Jxvf 文件名
    
    • 1
    • 2

    3.重命名

    mv 原文件夹名 mysql8
    
    • 1

    4.配置环境变量

    • vim /etc/profile
    JAVA_HOME=/usr/java/jdk1.8.0_152
    JRE_HOME=/usr/java/jdk1.8.0_151/jre
    HADOOP_HOME=/usr/local/hadoop-2.7.1
    ZOOKEEPER_HOME=/usr/local/zookeeper-3.3.6
    FLUME_HOME=/usr/local/flume-1.9.0
    NGINX_HOME=/usr/local/nginx
    TOMCAT_HOME=/usr/local/tomcat-8.5.81
    MYSQL8_HOME=/usr/local/mysql8
    
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$FLUME_HOME/bin:$NGINX_HOME/sbin:$TOMCAT_HOME/bin:$MYSQL8_HOME/bin
    export PATH CLASSPATH JAVA_HOME JRE_HOME HADOOP_HOME ZOOKEEPER_HOME FLUME_HOME NGINX_HOME TOMCAT_HOME MYSQL8_HOME
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • source /etc/profile

    5.用户和用户组

    • 创建一个用户组:mysql
    groupadd mysql
    
    • 1
    • 创建一个系统用户:mysql,指定用户组为mysql
    useradd -r -g mysql mysql
    	-r:创建系统用户
    	-g:指定用户组
    
    • 1
    • 2
    • 3

    6.数据目录

    • 创建目录
    cd /usr/local/mysql8
    mkdir datas
    
    • 1
    • 2
    • 更改属主和数组
    chown -R mysql:mysql /usr/local/mysql8/datas
    
    • 1
    • 更改模式
    chmod -R 750 /usr/local/mysql8/datas
    
    • 1

    初始化MySQL

    1.配置参数

    • cd /usr/local/mysql8
    • vim my.cnf
    [mysql]
    # 默认字符集
    default-character-set=utf8mb4
    [client]
    port       = 3306
    socket     = /tmp/mysql.sock
    
    [mysqld]
    port       = 3306
    server-id  = 3306
    user       = mysql
    socket     = /tmp/mysql.sock
    # 安装目录
    basedir    = /usr/local/mysql8
    # 数据存放目录
    datadir    = /usr/local/mysql8/datas/mysql
    log-bin    = /usr/local/mysql8/datas/mysql/mysql-bin
    innodb_data_home_dir      =/usr/local/mysql8/datas/mysql
    innodb_log_group_home_dir =/usr/local/mysql8/datas/mysql
    #日志及进程数据的存放目录
    log-error =/usr/local/mysql8/datas/mysql/mysql.log
    pid-file  =/usr/local/mysql8/datas/mysql/mysql.pid
    # 服务端使用的字符集默认为8比特编码
    character-set-server=utf8mb4
    lower_case_table_names=1
    autocommit =1
     
     ##################以上要修改的########################
    skip-external-locking
    key_buffer_size = 256M
    max_allowed_packet = 1M
    table_open_cache = 1024
    sort_buffer_size = 4M
    net_buffer_length = 8K
    read_buffer_size = 4M
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 64M
    thread_cache_size = 128
      
    #query_cache_size = 128M
    tmp_table_size = 128M
    explicit_defaults_for_timestamp = true
    max_connections = 500
    max_connect_errors = 100
    open_files_limit = 65535
       
    binlog_format=mixed
        
    binlog_expire_logs_seconds =864000
        
    # 创建新表时将使用的默认存储引擎
    default_storage_engine = InnoDB
    innodb_data_file_path = ibdata1:10M:autoextend
    innodb_buffer_pool_size = 1024M
    innodb_log_file_size = 256M
    innodb_log_buffer_size = 8M
    innodb_flush_log_at_trx_commit = 1
    innodb_lock_wait_timeout = 50
    transaction-isolation=READ-COMMITTED
          
    [mysqldump]
    quick
    max_allowed_packet = 16M
           
    [myisamchk]
    key_buffer_size = 256M
    sort_buffer_size = 4M
    read_buffer = 2M
    write_buffer = 2M
            
    [mysqlhotcopy]
    interactive-timeout
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72

    2.初始化

    • mysqld --defaults-file=/usr/local/mysql8/my.cnf --basedir=/usr/local/mysql8/ --datadir=/usr/local/mysql8/datas/mysql --user=mysql --initialize-insecure
    defaults-file:指定配置文件(要放在–initialize 前面)
    user: 指定用户
    basedir:指定安装目录
    datadir:指定初始化数据目录
    intialize-insecure:初始化无密码
    
    • 1
    • 2
    • 3
    • 4
    • 5

    启动MySQL

    1.查看 MySQL的 bin路径下,是否包含mysqld_safe

    在这里插入图片描述

    2.启动服务

    • 完整命令
    /usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/mysql8/my.cnf &
    
    • 1
    • 加上环境变量后的命令
    mysqld_safe --defaults-file=/usr/local/mysql8/my.cnf &
    
    • 1

    3.查看是否启动

    • ps -ef|grep mysql
      在这里插入图片描述

    登录

    1.无密码登录方式

    • /usr/local/mysql8/bin/mysql -u root --skip-password
      在这里插入图片描述

    2.有密码登录方式(初始的随机密码在/data/mysql8_data/mysql/mysql.log下)

    • mysql -u root -p
    • password:随机密码

    修改密码

    1.修改密码

    • ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password
      BY ‘a’;

    2.刷新权限

    • FLUSH PRIVILEGES;

    设置允许远程登录

    1.设置

    • use mysql
    • update user set user.Host='%'where user.User=‘root’;
    • flush privileges;
    • quit

    2.Navicat测试

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    哪款蓝牙耳机听歌音质好?蓝牙耳机音质排行榜
    Java设计模式之组合模式
    docker-compose构建
    李宏毅机器学习代码——预测COVID-19人数
    B_QuRT_User_Guide(30)
    中国预制菜行业发展形势与前景规划建议报告2022-2028年版
    LevitasBio补强公司高级管理层
    7.(高级示例篇)cesium漫游飞行
    2023年十大地推拉新接单平台和网推接单平台,都是一手单
    【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 29 日论文合集)
  • 原文地址:https://blog.csdn.net/weixin_51699336/article/details/125510038