• centos7安装mysql5.7


    检查已安装的mariadb,并强制卸载

    [root@xiaoman03 ~]# rpm -qa | grep mariadb
    mariadb-libs-5.5.68-1.el7.x86_64
    [root@xiaoman03 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
    
    • 1
    • 2
    • 3

    下载mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

    下载地址:https://downloads.mysql.com/archives/community/

    [root@xiaoman03 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
    
    • 1

    添加mysql组和mysql用户

    [root@xiaoman03 ~]# groupadd mysql
    [root@xiaoman03 ~]# useradd -r -g mysql mysql
    
    • 1
    • 2

    -r 参数表示mysql用户是系统用户,不可用于登录系统。
    -g 参数表示把mysql用户添加到mysql用户组中。

    解压mysql安装包到指定的目录 /usr/local

    [root@xiaoman03 ~]# cd /usr/local
    [root@xiaoman03 local]# tar -zxvf /soft/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
    
    • 1
    • 2

    将解压后的目录改名为mysql

    [root@xiaoman03 local]# mv mysql-5.7.37-linux-glibc2.12-x86_64/ mysql
    
    • 1

    更改权限

    [root@xiaoman03 local]# chown -R mysql:mysql mysql/
    
    • 1

    在这里插入图片描述

    创建配置文件vim /etc/my.cnf

    [client]
    # 设置mysql客户端默认字符集
    default-character-set = utf8mb4
    #如果不设置会报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket
    socket=/data/mysql57/data/mysql.sock
    
    [mysqld]
    #设置3306端口
    port=3306
    character-set-server = utf8mb4
    #设置隔离级别,默认REPEATABLE-READ
    transaction-isolation=READ-COMMITTED
    
    # 设置mysql的安装目录
    basedir=/usr/local/mysql
    
    # 设置mysql数据库的数据的存放目录
    datadir=/data/mysql57/data
    socket=/data/mysql57/data/mysql.sock
    
    # 禁用主机名解析
    skip-name-resolve
    
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    lower_case_table_names=1
    
    # 过小可能会导致写入(导入)数据失败
    max_allowed_packet = 256M
    group_concat_max_len = 10240
    
    # 允许最大连接数
    max_connections=200
    
    # 提到 join 的效率
    join_buffer_size = 16M
    # 事务日志大小
    innodb_log_file_size = 256M
    # 日志缓冲区大小
    innodb_log_buffer_size = 4M
    # 事务在内存中的缓冲
    innodb_log_buffer_size = 3M
    
    [mysqldump]
    # 开启快速导出
    quick
    default-character-set = utf8mb4
    max_allowed_packet = 256M
    
    • 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

    创建目录,改变权限

    #递归创建目录
    [root@xiaoman03 local]# mkdir -p /data/mysql57/data
    #更改权限
    [root@xiaoman03 local]# chown -R mysql:mysql /data/mysql57/data
    #初始化数据库,记下最后一行的密码(牢记初次登录需要)
    [root@xiaoman03 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql57/data
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    启动数据库

    #源目录启动数据库
    [root@xiaoman03 mysql]# /usr/local/mysql/support-files/mysql.server start
    Starting MySQL.Logging to '/data/mysql57/data/xiaoman03.err'.
                                                               [  OK  ]
    
    • 1
    • 2
    • 3
    • 4

    设置自动启动mysql

    # 复制启动脚本到资源目录
    [root@xiaoman03 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
    # 增加mysqld服务控制脚本执行权限
    [root@xiaoman03 mysql]# chmod +x /etc/rc.d/init.d/mysqld
    #将mysqld添加到系统服务,并检查是否生效
    [root@xiaoman03 mysql]# chkconfig --add mysqld
    [root@xiaoman03 mysql]# chkconfig --list mysqld
    
    #可以使用以下命令启动/停止/重启mysqld服务
    service mysqld start/stop/restart
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    登录mysql,修改初始密码和远程登录权限

    # 建立一个链接文件。因为系统默认会查找/usr/bin下的命令。
    [root@xiaoman03 mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin
    #以root用户登录,输入系统产生的随机密码
    [root@xiaoman03 mysql]#  mysql -uroot -p
    Enter password: 
    #登录以后,修改用户密码
    mysql> set password for root@localhost=password("用户新密码");
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    #设置root远程登录
    mysql> GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY '用户密码' WITH GRANT OPTION;
    Query OK, 0 rows affected, 1 warning (0.01 sec)
    #更新权限
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    遇到的问题

    1. 执行bin/mysqld报错
    [root@xiaoman03 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql57/data
    bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    
    • 1
    • 2

    原因: 缺少依赖库
    解决:yum install -y libaio

    参照的文章

    https://blog.csdn.net/object_oriented_/article/details/105529726
    https://baijiahao.baidu.com/s?id=1720534115242831841&wfr=spider&for=pc

  • 相关阅读:
    周年更名,元宇宙产业委再上新台阶
    Automatic Detection of Welding Defects Using Faster R-CNN
    TVS二极管的小知识
    布隆过滤器原理,优缺点
    如何使用 MiniGPT-v2
    Docker部署rustdesk
    【电商运营】直击“废弃购物车”问题核心!
    Java:Swift与Java |你应该知道的最有价值的区别
    Qt之submodule编译
    Visual Stdio 2019 win10 64bit下 无法找到 资源编译器DLL,请确认路径是否正确,和无法下载 win10SDK_10.0
  • 原文地址:https://blog.csdn.net/csdn_ds/article/details/126395290