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;
相关推荐
旺仔学IT1 小时前
Centos7中使用yum命令时候报错 “Could not resolve host: mirrorlist.centos.org; 未知的错误“
linux·运维·centos
ROCKY_8171 小时前
Mysql复习(二)
数据库·mysql·oracle
问道飞鱼3 小时前
【知识科普】认识正则表达式
数据库·mysql·正则表达式
HaiFan.4 小时前
SpringBoot 事务
java·数据库·spring boot·sql·mysql
广而不精zhu小白5 小时前
CentOS Stream 9 挂载Windows共享FTP文件夹
linux·windows·centos
上山的月5 小时前
MySQL -函数和约束
数据库·mysql
zhcf5 小时前
【MySQL】十三,关于MySQL的全文索引
数据库·mysql
丁总学Java5 小时前
要查询 `user` 表中 `we_chat_open_id` 列不为空的用户数量
数据库·mysql
抓哇能手5 小时前
数据库系统概论
数据库·人工智能·sql·mysql·计算机
赵大仁6 小时前
在 CentOS 7 上安装 Node.js 20 并升级 GCC、make 和 glibc
linux·运维·服务器·ide·ubuntu·centos·计算机基础