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;
相关推荐
海岛日记5 小时前
centos一键卸载docker脚本
linux·docker·centos
mqiqe6 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
工业甲酰苯胺6 小时前
MySQL 主从复制之多线程复制
android·mysql·adb
BestandW1shEs6 小时前
谈谈Mysql的常见基础问题
数据库·mysql
贰十六6 小时前
笔记:Centos Nginx Jdk Mysql OpenOffce KkFile Minio安装部署
笔记·nginx·centos
重生之Java开发工程师6 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球6 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...6 小时前
表的操作(MySQL)
数据库·mysql·表的操作
难以触及的高度7 小时前
mysql中between and怎么用
数据库·mysql