• centos7 安装 mysql 8.0


    文章目录

    环境介绍

    操作系统:Centos7.6
    MySQL版本: 8.0.30

    本文使用的是当前最新8.0.30版本,如果需要安装的版本比8.0.30高或者低,只要是8.0.*版本,那就可以按照本文说明安装,基本不会有任何问题。

    一、安装前准备

    1.卸载MariaDB

    安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。

    1.1 查看是否安装mariadb
    rpm -qa|grep mariadb
    
    • 1
    1.2 卸载
    rpm -e --nodeps 文件名
    
    • 1
    1.3 检查是否卸载干净
    rpm -qa|grep mariadb
    
    • 1

    2.检查依赖

    2.1 查看是否安装libaio
    rpm -qa|grep libaio
    
    • 1

    如果没有安装则执行

    yum -y install libaio //安装libaio 
    
    • 1
    2.2 查看是否安装numactl
    rpm -qa|grep numactl
    
    • 1

    如果没有安装则执行

    yum -y install numactl //安装numactl 
    
    • 1

    二、安装MySQL

    1.下载资源包

    可以在官网下载安装包或者在服务器直接使用wget下载。

    1.1 官网下载

    MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/
    在这里插入图片描述

    1.2 wget下载
    wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-el7-x86_64.tar
    
    • 1

    2.解压

    注:本文安装包上传到了 /usr/local/ 目录下

    进入安装包目录

    cd /usr/local/
    
    • 1

    拆分tar包

    tar -xvf mysql-8.0.30-el7-x86_64.tar
    
    • 1

    解压安装包

    tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz
    
    • 1

    3.重命名

    将解压后的文件夹重命名为mysql

    mv mysql-8.0.30-el7-x86_64/ mysql
    
    • 1

    4.创建存储数据文件

    在重命名后的mysql文件夹中创建data文件夹

    mkdir mysql/data
    
    • 1

    5.设置用户组并赋权

    创建用户组

    groupadd mysql
    
    • 1

    创建用户
    -r:创建系统用户
    -g:指定用户组

    useradd -r -g mysql mysql
    
    • 1

    更改属主和数组

    chown -R mysql:mysql /usr/local/mysql/
    
    • 1

    更改权限

    chmod -R 755 /usr/local/mysql/
    
    • 1

    6.初始化MySQL

    进入MySQL的bin目录

    cd /usr/local/mysql/bin/
    
    • 1

    初始化

    ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower-case-table-names=1
    
    • 1

    初始化完成后会打印一个随机密码,后面会用到。
    在这里插入图片描述

    7.配置参数文件

    vi /etc/my.cnf
    
    • 1

    配置文件修改为以下内容,也可以根据自己需要设置参数。

    [client]
    port = 3306
    socket = /usr/local/mysql/data/mysql.sock
    default-character-set = utf8mb4
    

    [mysql]
    default-character-set = utf8mb4

    [mysqld]
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_general_ci
    init_connect = ‘SET NAMES utf8mb4’

    port = 3306
    socket = /usr/local/mysql/data/mysql.sock
    skip-external-locking
    key_buffer_size = 16M
    max_allowed_packet = 1M
    table_open_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M
    datadir = /usr/local/mysql/data
    #lower_case_table_names=1
    #如果要设置lower_case_table_names可以在初始化里面设置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1
    max_connect_errors=10000
    max_connections = 10000

    [mysqldump]
    quick
    max_allowed_packet = 16M

    [mysql]
    no-auto-rehash

    [myisamchk]
    key_buffer_size = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M

    [mysqlhotcopy]
    interactive-timeout

    配置后修改 /etc/my.cnf 的权限为777

    chmod 777 /etc/my.cnf
    
    • 1

    8.启动MySQL

    /usr/local/mysql/support-files/mysql.server start
    
    • 1

    9.设置软连接,并重启MySQL

    ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
    ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
    service mysql restart
    
    • 1
    • 2
    • 3
    • 4

    10.登录并更改密码

    [root@localhost bin]# mysql -uroot -p
    Enter password: 输入初始化随机密码
    
    • 1
    • 2

    修改密码

    alter user 'root'@'localhost' identified by '你的密码' password expire never; alter user 'root'@'localhost' identified with mysql_native_password by '你的密码' flush privileges;

    11.开放远程连接

    mysql>use mysql;
    msyql>update user set user.Host='%' where user.User='root';
    mysql>flush privileges;    //刷新权限
    
    • 1
    • 2
    • 3

    12.连接工具测试连接MySQL

    在这里插入图片描述
    如果服务器本地可以连接,但是连接工具远程连接不进去,则需要检查一下防火墙是否放行3306端口,也可以暂时先关闭防火墙后重试。

    关闭防火墙

    systemctl stop firewalld
    
    • 1

    13.MySQL启动和停止

    CentOS6和CentOS7命令都可以使用。

    启动

    service mysql start
    systemctl start mysql
    
    • 1
    • 2

    停止

    service mysql stop
    systemctl stop mysql
    
    • 1
    • 2

    重启

    service mysql restart
    systemctl restart mysql
    
    • 1
    • 2

    查看状态

    service mysql status
    systemctl status mysql
    
    • 1
    • 2

    三、设置开机自启动(可选)

    将服务文件拷贝到 /etc/init.d下,并重命名为mysqld

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    
    • 1

    赋予可执行权限

    chmod +x /etc/init.d/mysqld
    
    • 1

    添加服务

    chkconfig --add mysqld
    
    • 1

    显示服务列表

    chkconfig --list
    
    • 1

    注:如果看到mysqld的服务,并且3,4,5都是on的话则成功,如果是off,则执行

    chkconfig --level 345 mysqld on
    
    • 1

    重启系统

    reboot
    
    • 1

    重启后查看mysql是否开机自启动

    ps -ef|grep mysql
    
    • 1
    文章知识点与官方知识档案匹配,可进一步学习相关知识
  • 相关阅读:
    唧唧down怎么下载安装-唧唧down使用操作内容讲解
    Pygame中Sprite类的使用1
    Vue
    基于STM32单片机的蓝牙智能手环系统
    Linux 下 使用 Ekho 进行TTS文本转语音
    详解Jmeter中的BeanShell脚本
    第33章_瑞萨MCU零基础入门系列教程之DHT11温湿度获取实验
    部门树递归实现
    完成flex布局与float布局
    kube-proxy 流量流转方式
  • 原文地址:https://blog.csdn.net/u011334954/article/details/133799595