zoukankan      html  css  js  c++  java
  • mysql5.6.24的安装与简单使用--Linux版5.7.24

    1, 下载绿色版Mysql5.6.24

      http://dlsw.baidu.com/sw-search-sp/soft/ea/12585/mysql-5.6.24-win32.1432006610.zip 

       

      官网下载自己想要的版本:  https://dev.mysql.com/downloads/mysql/ 

    2,将bin目录设置到环境变量中

      比如 :path = %Path%;D:Program Filesmysql-5.6.24-win32-noinstallin;

    3,修改my.ini文件

      1) 解压后可以看到my-default.ini,复制它并命名为my.ini

      2) 编辑my.ini里面的属性

        #mysql的目录
        basedir = D:Program Filesmysql-5.6.24-win32-noinstall

        #mysql存放数据的目录
        datadir = D:Program Filesmysql-5.6.24-win32-noinstalldata

        port=3306

        character_set_server=utf8

      [client]

      port=3306
      default-character-set=utf8

          http://files.cnblogs.com/files/yangw/my.ini.rar 

    4,通过命令提示符安装mysql

      打开cmd,进入到mysql的bin目录下,使用 mysqld install命令安装

         

      此时在windows的服务中,就可以看到Mysql的服务

         

         mysqld remove 命令卸载Mysql

    5,通过命令启动mysql服务

      net start mysql 

      

    6,进入mysql

      使用 mysql -u root -p回车之后输入密码进入(注意,第一次使用root登录时是没有密码的,直接回车)

      

    7, 查询mysql中所有的数据库  show databases  

          原始数据库中,我们一般不作修改.

      

     8, 退出与停止mysql服务

      退出mysql命令提示符,使用 quit

      停止mysql服务, 使用命令 net stop mysql 

      

     9, 显示一下安装的mysql编码方式

       show variables like 'char%';

      

    ---------------------------------------------------------------------------------------------------------

    1, 创建数据库

      create database xxx;

    2,使用数据库

      use xxx;

    3, 查询所有数据库的表

      show tables;

    4, 查看数据库中的某张表的结构

      desc t_xxx;

    5, 删除数据库

      drop database xxx;

      

    ---------------------------------------------------------------------------------------------------------

    1, mysql常用的数据类型

      int             表示整型

      float          表示浮点型

      varchar      表示可变长度的字符串(最大256)

      char          表示固定长度的字符串(最大256)

      text          表示文本类型, 比如说存一个网页的内容

      binary     表示二进制类型,比如说存图片,存文件时使用 类似于 blob

      date        表示日期类型

      time      表示时间类型

      datetime   表示日期和时间 类似于 timestamp

      其它还有很多类型,参考文档说明...

    2, 数据表的命名规则 : 

      建议段字使用下划线,比如 user_id

      建议普通表使用t_xxx命名,比如 t_user,临时表使用temp_xxx

    3, 创建t_user表

    -- 创建表
    create table if not exists t_user(
        id int(10) auto_increment primary key,
        username varchar(20) not null unique,
        password varchar(20),
        sex    char(1) default 'm',
        birday date comment '这是生日哦'
    ) comment '用户表';
    
    -- 表结构修改
    
    ALTER TABLE t_user RENAME TO t_user1 ; -- 修改表名
    ALTER TABLE t_user change COLUMN gender sex   char(1) COMMENT '类型:w-女;m-男 '  ;  -- 修改表列名 
    ALTER TABLE t_user MODIFY id int(20); -- 修改字段类型
    ALTER TABLE t_user ADD address VARCHAR(40); -- 添加表列
    ALTER TABLE t_user DROP column address ; --删除表列 
     
     -- 表备注添加
    
     ALTER TABLE t_user COMMENT='这是表的注释'; 
    -- mysql 修改列的注释是比较麻烦的,它会重新建表列,浪费时间的

    4,  导入一个sql脚本文件

      source 路径  ,注意路径只能使用 这种斜杠 / 

      

     5, 创建外键关联表  学生和班级是一对多的关系

      

    create table if not exists t_classroom(
        id int(10) auto_increment primary key,
        classname varchar(50),
        grade int(10)
    ) comment '班级表';
    
    create table if not exists t_student(
        id int(10) auto_increment primary key,
        username varchar(20),
        password varchar(20),
        birday date ,
        cls_id int(10),
        -- 外键的使用方式
        constraint foreign key (cls_id) references t_classroom(id)
    ) comment '学生表';

    6, 为用户授权 grant ,可以实现修改用户密码

     

    -- 创建用户yangw并设置密码为123456,它可以对cms数据库中所有对象进行所有的操作 (下面这个是只能通过localhost访问到)
    GRANT All ON cms.* TO 'yangw'@'localhost' IDENTIFIED BY '123456';
    
    -- 修改root用户的密码,root是可以访问所有的数据库对象的
    
    GRANT All ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456';
    
    -- 用户在任何ip地址中都能访问数据库,用户可以设置为无密码
    
    GRANT All ON cms.* TO 'root'@'%' ;
    GRANT All ON cms.* TO 'root'@'%'  IDENTIFIED BY '';

    7, insert语句, truncate清空表(同时也会将自动递增标识清空)

     

    -- insert语句,为指定字段赋值
    insert into t_user (username,password) values ('张三','123456');
    
    --insert语句, 不指定字段,此时需要为每一个字段赋值, 主键是自动生成的,这里设置为null即可
    
     insert into t_user values (null,'李四','123456','y','2015-06-10');
    
    -- insert    ....   select
    
    insert into t_student (username,password) select username,password from t_user ;
    
    
    --干掉整个表的数据,也就是清空表
    
    truncate table t_user;

    8, id in(a,b,c) 的效率 比 id=a or id=b or id=c 的效率高.

    9, now() 获取当前时间  ,mysql中有很多有用的时间函数,比如 获取年份YEAR()

     -- 查询当前时间
    select now();
         2015-11-27 18:04:55
    
    -- 查询当前的年份
    select YEAR(now());
       2015

     10,group by 

    -- 查询出每个年龄段的学生数量.
    
    select YEAR(birday) as 'y' ,count(id) from t_student group by y;

    navicat连接mysql数据库时,使用root用户,需输入密码(本文设置的是123456)

    但当使用授权的用户xt_oms时,输入密码则无法连接报1045, 不输入密码则可以连接,但只能看到两个数据库

    =====================================================Linux版本的Mysql========================

    https://dev.mysql.com/downloads/mysql/ 

    ###===========================================================================================================
    ###
    ### 安装mysql(下载好的包,离线安装) https://blog.csdn.net/kokjuis/article/details/78215020
    ### 在CentOS7 安装
    ###===========================================================================================================

    #列出安装的mysql。
    rpm -qa | grep mariadb ###显示mariadb-libs-5.5.56-2.el7.x86_64

    #强制卸载
    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

    rpm -e --nodeps mariadb-5.5.60-1.el7_5.x86_64
    rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
    rpm -e --nodeps mariadb-devel-5.5.60-1.el7_5.x86_64
    rpm -e --nodeps mariadb-server-5.5.60-1.el7_5.x86_64


    #检查是否有遗留文件。如果有删除即可。
    ls /etc/my.cnf
    ll /var/lib/mysql/ ll /var/lib64/mysql(64位)

    groupadd mysql
    useradd -g mysql mysql

    官网下载mysql包
    https://dev.mysql.com/downloads/mysql/5.7.html#downloads
    Version:5.7.24 , Operating System:Linux-Generic, OS Version:64位
    mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 下载它

    后面的安装步骤可完全按照上面链接进行

    拷贝tar.gz包到 /usr/local/ 目录下:
    cp mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz /usr/local/
    cd /usr/local/
    解压
    tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
    重命名目录为 mysql
    mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
    编辑my.cnf(新建的)
    vim /etc/my.cnf
    内容如下:

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    socket=/usr/local/mysql/mysql.sock
    [client]
    default-character-set=utf8
    socket=/usr/local/mysql/mysql.sock
    [mysqldump]
    socket=/usr/local/mysql/mysql.sock
    [mysqladmin]
    socket=/usr/local/mysql/mysql.sock
    [mysql.server]
    user=mysql
    basedir=/usr/local/mysql
    [mysqld]
    #skip-name-resolve
    #设置3306端口
    port = 3306
    socket=/usr/local/mysql/mysql.sock
    # 设置mysql的安装目录
    basedir=/usr/local/mysql
    # 设置mysql数据库的数据的存放目录
    datadir=/usr/local/mysql/data
    # 允许最大连接数
    max_connections=1000
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    #lower_case_table_name=1
    max_allowed_packet=64M


    进入mysql安装目录
    cd /usr/local/mysql
    chown -R mysql:mysql ./ 修改当前目录拥有着为mysql用户
    安装数据库
    ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    注意这个临时密码后面会用到一次 [Note] A temporary password is generated for root@localhost: wrKQhKz&n1OJ


    chown 777 /etc/my.cnf
    赋值启动脚本到开机目录
    cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    chmod +x /etc/rc.d/init.d/mysqld
    将mysqld服务加入到系统服务
    chkconfig --add mysqld
    检查mysqld服务是否已经生效
    chkconfig --list mysqld
    结果
    mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
    表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止

    此时可以启动mysql
    启动与停止mysql的命令:
    service mysqld start和service mysqld stop

    将export PATH=$PATH:/usr/local/mysql/bin 加入到 /etc/profile 文件的最后
    使文件生效
    source /etc/profile

    以root身份登录mysql
    mysql -uroot -p
    注意输入刚才的临时密码
    更改root的密码以及权限
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    创建数据库
    create database mantis;
    2,使用数据库
       use mantis;
    //创建mantis用户并设置密码123456
    GRANT All ON mantis.* TO 'mantis'@'%' IDENTIFIED BY '123456';

    quit;


    防火墙开放3306端口
    firewall-cmd --add-port=3306/tcp
    firewall-cmd --permanent --add-port=3306/tcp
    firewall-cmd --reload
    firewall-cmd --query-port=3306/tcp

    ============================Windows版 Mysql 5.7.28=====================

    ++ 参考了 https://www.cnblogs.com/liuxiaoji/p/9778212.html

    ++             https://blog.csdn.net/codingforhaifeng/article/details/80675498

    ++ 若是图形化的安装方式,可参考: https://blog.csdn.net/qq_36819281/article/details/84037944

    =============

    1. 解压缩ZIP包且配置环境变量 PATH=%PATH%;D:Program Filesmysql-5.7.28-winx64in

    2. 此时解压后的文件中没有data目录和ini文件,创建my.ini文件

    [mysqld]
    port = 3306
    basedir=D:Program Filesmysql-5.7.28-winx64
    datadir=D:Program Filesmysql-5.7.28-winx64data
    max_connections=200
    character-set-server=utf8
    default-storage-engine=INNODB
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    [mysql]
    default-character-set=utf8

    3.以管理员身份运行CMD,cd  D:Program Filesmysql-5.7.28-winx64in 下,执行命令 mysqld -install

     继续执行命令: mysqld --initialize-insecure --user=mysql  , 该命令会创建data目录及其root用户

    .启动mysql命令:net start mysql

    登录MySQL命令:mysql -u root -p 密码为空,直接按Enter键进入

     若要改密码,参考上面的5.6.24的说明。

    ----------- 赠人玫瑰,手有余香     如果本文对您有所帮助,动动手指扫一扫哟   么么哒 -----------


    未经作者 https://www.cnblogs.com/xin1006/ 梦相随1006 同意,不得擅自转载本文,否则后果自负
  • 相关阅读:
    es6小记
    CPU密集型和I/O密集型区别
    Gulp小记
    原生表单的小详解
    div无法触发blur事件解决办法
    HMTL列表详解
    Angular开发小笔记
    Angular组件生命周期钩子
    css小笔记
    HTML格式化标签
  • 原文地址:https://www.cnblogs.com/xin1006/p/4998680.html
Copyright © 2011-2022 走看看