linux下安装MySQL详细步骤

改变权限 sudo c

  1. 下载mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz版本

  2. 环境配置

    1. linux连接工具:XShell

      linux文件管理工具:Xftp

      linux系统版本: CentOS 7.3 64位

      安装源文件版本:下载mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

    2. 1) 安装前,检测系统是否自带安装 MySQL

      [admin@jdc /]$rpm -qa | grep mysql

      若有,类似mysql-libs-5.1.52-1.el6_0.1.x86_64进行卸载:

    rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64  // 普通删除模式  
    rpm -e --nodeps // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

    2)检查否存在 mariadb 数据库,若有,卸载掉,卸载同上

    [admin@jdc /]$ rpm -qa | grep mariadb

    3)用XFTP工具将下载的mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz上传到linux服务器的/opt/software目录下

  3. 安装

    1)进入安装包所在目录,解压文件到/opt/module/mysql

    [admin@jdc /]$ cd /opt/software
    [admin@jdc software]$ tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz -C /opt/module/mysql/

    重命名

    [admin@jdc mysql]$ mv ysql-5.7.34-linux-glibc2.12-x86_64 mysql-5.7.34

    2)添加系统mysql组和mysql用户

    [kmzcadmin@kmzcjdc04 mysql]$ sudo groupadd mysql 
    # root模式不用加sudo,用户模式不加sudo便groupadd:拒绝访问,
    Groupadd:不能锁定/etc/group
    [kmzcadmin@kmzcjdc04 mysql]$ sudo useradd -r -g mysql mysql
    #useradd -r参数表示mysql用户是系统用户,不可用于登录系统
    cat /etc/group | grep mysql #查看mysql组和用户是否添加成功
    cat /etc/passwd | grep mysql
  4. 安装数据库

    1)创建data目录

    [admin@jdc mysql]$ cd mysql-5.7.34
    [admin@jdc mysql-5.7.34]$ mkdir data

    将/opt/mysql/mysql-5.7.34的所有者及所属组改为mysql

    chown -R mysql.mysql /opt/module/mysql/mysql-5.7.34

    2)在/opt/module/mysql/mysql-5.7.34/support-files目录下创建my_default.cnf并编辑

    [admin@jdc support-files]$ mkdir my_default.cnf 
    [admin@jdc support-files]$ vim my_default.cnf 
    #文件内容如下
    [mysqld]
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
     
    basedir = /opt/module/mysql/mysql-5.7.34
    datadir = /opt/module/mysql/mysql-5.7.34/data
    port = 3306
    socket = /tmp/mysql.sock
    character-set-server=utf8
     
    log-error = /opt/module/mysql/mysql-5.7.34/data/mysqld.log
    pid-file = /opt/module/mysql/mysql-5.7.34/data/mysqld.pid
    ​

    拷贝,如果提示是否覆盖,y

    [=admin@=jdc= support-files]$ sudo cp my_default.cnf /etc/my.cnf

    3)初始化 mysqld

    [admin@jdc support-files]$ cd ..
    [admin@jdc mysql-5.7.34]$ ./bin/mysqld --initialize --user=mysql --basedir=/opt/module/mysql/mysql-5.7.34/ --datadir=/opt/module/mysql/mysql-5.7.34/data/ 

    4)初始化完成之后,查看日志

    [admin@jdc mysql-5.7.34]$  cd /data/mysqld.log

    记录临时密码

    2021-09-03T02:02:10.729179Z 1 [Note] A temporary password is generated for admin@jdc: Gyric=*:/6(T

    5)把启动脚本放到开机初始化目录

    [admin@jdc04 mysql-5.7.34]$ sudo cp support-files/mysql.server /etc/init.d/mysql

    6)启动mysql服务

    [admin@jdc mysql-5.7.34]$ service mysql start
    Starting MySQL. SUCCESS!

    7)登录mysql,密码为开始mysql.log中的临时密码

    [admin@jdc mysql-5.7.34]$ ./bin/mysql -u root -p
    Enter password: 123456
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.34
    Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    mysql> 
    #修改密码
    set password=password('123456');
    mysql> grant all privileges on *.* to root@'%' identified by '123456';
    mysql> flush privileges;

    添加远程访问权限

    mysql> use mysql;
    mysql> update user set host='%' where user = 'root';
    mysql> flush privileges;

    重启mysql生效

    [kmzcadmin@kmzcjdc04 mysql-5.7.34]$ service mysql restart
    Starting MySQL. SUCCESS! 

MySQL查看数据库 以及建表

  1. SHOW DATABASES [LIKE '数据库名'];

  2. show databases;查看或显示当前用户权限范围以内的数据库

    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4row in set (0.22 sec)
    • nformation_schema:主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息和分区信息等。

    • mysql:MySQL 的核心数据库,类似于 SQL Server 中的 master 表,主要负责存储数据库用户、用户访问权限等 MySQL 自己需要使用的控制和管理信息。常用的比如在 mysql 数据库的 user 表中修改 root 用户密码。

    • performance_schema:主要用于收集数据库服务器性能参数。

    • sakila:MySQL 提供的样例数据库,该数据库共有 16 张表,这些数据表都是比较常见的,在设计数据库时,可以参照这些样例数据表来快速完成所需的数据表。

    • sys:MySQL 5.7 安装完成后会多一个 sys 数据库。sys 数据库主要提供了一些视图,数据都来自于 performation_schema,主要是让开发者和使用者更方便地查看性能问题。

  3. //创建数据库 create database [database name];

    //查看数据库 show databases;

    //删除数据库 drop database [database name];

    eg:创建一个名为 test_db 的数据库:mysql> CREATE DATABASE test_db;

    eg:创建一个名为 mydb的数据库并且制定编码utf8:CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci;

    eg:删除数据库 :drop database mynewdatabase; //删除名为mynewdatabase的数据库

  4. 创建表:

    use 数据库名;//chesi    
    建表 eg:create table tb_dept( Id int primary key auto_increment, Name varchar(18),description varchar(100));   
    mysql> show tables; //查看所有表 
    删除表:drop table 表名;  eg:drop table tb_dept;

  5. 给表添加索引:

    1.添加PRIMARY KEY(主键索引)   mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )  
    2.添加UNIQUE(唯一索引)    mysql>ALTER TABLE `table_name` ADD UNIQUE (`column`) 
    3.添加INDEX(普通索引)     mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )  
    4.添加FULLTEXT(全文索引)      mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)  
    5.添加多列索引    mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
  6. 查看建立的表结构

     show columns from [表名];
  7. 插入数据

    inset {表名} (filed1,field2,....) values (value1,value2,....);

    eg:insert tb3 (id,username) values (4,'jona');

    重置密码

    1、跳过MySQL的密码认证过程,方法如下: #vim /etc/my.cnf(注:windows下修改的是my.ini) 在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,

    2、service mysqld restart 重启MySQL服务

    3、免密码登陆(注:敲入 mysql -u root -p 命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中)

    4、flush privileges;(首先更新权限)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值