centos按照mysql

mysql

  • 下载

    步骤:

    Select Operating System: Linux - Generic

    下载Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive 5.7.38 643.6M

    下载地址:

    https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

  • 安装

    • 压缩包拷贝到服务器/usr/local/software

    • 解压

      bash 复制代码
      cd /usr/local/software
      tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
      #解压文件目录移动到/usr/local/env目录下,并重命名为mysql
      mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/env/mysql
      mv /usr/local/env/mysql-5.7.38-linux-glibc2.12-x86_64/ /usr/local/env/mysql
    • 创建用户组(mysql),并新建mysql用户,添加到mysql用户组

      bash 复制代码
      groupadd mysql
      #-r表示用户为系统用户,不可登录
      useradd -r -g mysql mysql
    • 配置mysql

      bash 复制代码
      cd /usr/local/env/mysql
      #创建数据存放目录
      mkdir data
      
      #新建my.cnf
      vi my.cnf
      ###########填充内容###########
      [mysql]
      # 设置mysql客户端默认字符集
      default-character-set=utf8
      [mysqld]
      #跳过权限表校验
      #skip-grant-tables
      skip-name-resolve
      #设置3306端口
      port = 3306
      # 设置mysql的安装目录
      basedir=/usr/local/env/mysql
      # 设置mysql数据库的数据的存放目录
      datadir=/usr/local/env/mysql/data
      # 允许最大连接数
      max_connections=200
      # 服务端使用的字符集默认为8比特编码的latin1字符集
      character-set-server=utf8
      # 创建新表时将使用的默认存储引擎
      default-storage-engine=INNODB
      lower_case_table_names=1
      max_allowed_packet=16M
      ###########填充内容退出###########
      #覆盖/etc/my.cnf
      mv my.cnf /etc/my.cnf
    • 初始化mysql

      所有命令在/usr/local/env/mysql执行

      以空密码初始化mysql

      bash 复制代码
      ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/env/mysql --datadir=/usr/local/env/mysql/data/

      --initialize-insecure 改为--initialize表示以随机密码初始化mysql,执行完毕后,最后会有一行显示随机密码:

      2022-06-16T08:51:49.101383Z 1 [Note] A temporary password is generated for root@localhost: (J&cX0pFqw!S

      启动mysql

      bash 复制代码
      #执行完需要回车结束命令
      ./bin/mysqld_safe --user=mysql &
      #测试登录,执行完后提示输入密码,如果是随机密码则输入随机密码回车,空密码则直接回车
      ./bin/mysql -uroot -p

      停止mysql

      bash 复制代码
      #输入密码停止mysql,如果密码丢失只能通过杀进程方式来停止
      /bin/mysqladmin -uroot -p shutdown
    • 修改密码、开机启动、远程登录配置

      • 修改密码

        bash 复制代码
        #执行后输入旧密码则修改成功,空密码直接回车
        ./bin/mysqladmin -uroot -p password '[新密码]'

        也可以登录mysql后使用SQL语句修改:

        • mysql命令行(需要登入mysql> )

          复制代码
             use mysql;
             UPDATE user SET authentication_string = PASSWORD('[新密码]') WHERE user = 'root';
             FLUSH PRIVILEGES;

          UPDATE user SET password = PASSWORD('[新密码]') WHERE user = 'root'; (5.7之前密码字段叫password)

      • 设置开机启动

        bash 复制代码
        #拷贝启动文件到/etc/init.d,并重命名为mysql
        cp /usr/local/env/mysql/support-files/mysql.server /etc/init.d/mysql
        #添加服务
        chkconfig --add mysql
        #设置开机启动
        chkconfig mysql on
        #查看服务列表
        chkconfig --list

        因为mysql已经被添加到服务中,所以可以使用service mysql start来启动mysql了,相应的服务操作命令:

        #开启mysql服务

        service mysql start

        #查看mysql服务状态

        service mysql status

        #停止mysql服务

        service mysql stop

      • 远程登录

        通过./bin/mysql -uroot -p登录mysql,执行以下SQL:

        mysql 复制代码
        use mysql;
        update user set host='%' where user ='root';
        flush privileges;
        #查看一下是否配置成功
        select host,user from user;
相关推荐
kfepiza1 小时前
CentOS-7的"ifupdown"与Debian的"ifupdown"对比 笔记250706
centos
叁沐1 小时前
MySQL 07 行锁功过:怎么减少行锁对性能的影响?
mysql
Java烘焙师2 小时前
架构师必备:业务扩展模式选型
mysql·elasticsearch·架构·hbase·多维度查询
飞翔的佩奇2 小时前
Java项目:基于SSM框架实现的忘忧小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
java·数据库·mysql·vue·毕业设计·ssm框架·小区物业管理系统
@Ryan Ding2 小时前
MySQL主从复制与读写分离概述
android·mysql·adb
feifeigo1239 小时前
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
数据库·mysql·adb
(:满天星:)12 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
A__tao14 小时前
一键将 SQL 转为 Java 实体类,全面支持 MySQL / PostgreSQL / Oracle!
java·sql·mysql
一只fish15 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(17)
数据库·mysql
叁沐16 小时前
MySQL 06 全局锁和表锁:给表加个字段怎么有这么多阻碍?
mysql