• 三十.数据库服务概述 构建MySQL服务器 、 数据库基本管理 MySQL数据类型


    mysql50:192.168.4.50
    1.构建MySQL服务器
    安装MySQL-server、MySQl-client软件包
    修改数据库用户root的密码
    确认MySQL服务程序运行、root可控
     
    1.1 卸载残留
    ]# systemctl stop mariadb
    ]# rm -rf /etc/my.cnf
    ]# rm -rf /var/lib/mysql/*
    ]# rpm -e --nodeps mariadb-server mariadb 
    1.2 安装依赖包
    ]# yum -y install perl-Data-Dumper perl-JSON perl-Time-HiRes
    1.3 解包 安装
    ]# mkdir mysql
    ]# tar -xvf mysql-5.7.17.tar -C mysql/
    ]# cd mysql
    ]# yum -y install *.rpm
    1.4 启动
    ]# systemctl start mysqld
    ]# systemctl enable mysqld
    ]# systemctl status mysqld
    1.5 连接MySQL服务器,修改密码
    ]#grep 'temporary password' /var/log/mysqld.log
     A temporary password is generated for root@localhost: mtoa>Av<p6Yk
    ]# mysql -u root -p'mtoa>Av<p6Yk'
    mysql>set global validate_password_policy=0;
    //只验证长度
    Query OK, 0 rows affected (0.00 sec)
    mysql>set global validate_password_length=6;
    //修改密码长度,默认值是8个字符 
    Query OK, 0 rows affected (0.00 sec)
    mysql> alter user user() identified by "123456"; 
    //修改登陆密码
    Query OK, 0 rows affected (0.00 sec)
    mysql> exit
    ]# mysql -u root -p123456 登陆
    ]# mysql -h 127.0.0.1 –uroot –p123456 远程登陆
     
    2.数据库基本管理
    2.1 练习查看/删除/创建库的相关操作
     
    查看现有的库
    mysql> show  databases;
     
    切换/使用指定的库
    mysql> use sys;
    Database changed
     
    确认当前所在的库
    mysql> select database();
     
    新建名为newdb的库
    mysql> create database newdb; 
     
    删除指定的库
    mysql> drop database newdb; 
     
    3.练习查看/删除/创建表的相关操作
     
    查看mysql库里有哪些表
    mysql> use mysql;
    mysql> show tables;
     
    查看指定表的字段结构
    mysql> desc columns_privG  //以列表形式展现,末尾不用分号
     
    查看columns_priv表的结构,以表格形式展现:
    mysql> desc columns_priv; //查看表结构,以表格形式展现末尾需要有分号
    mysql> desc mysql.columns_priv;
     
    切换到mydb库
    mysql> use mydb;
     
    新建pwlist表
    mysql> create table pwlist(
        -> name char(16) not null,
        -> password char(48)default '',
        -> primary key(name)
        -> );
    Query OK, 0 rows affected (0.38 sec)
     
    确认新创建的表:
    mysql> show tables; 
     
    查看pwlist表的字段结构:
    mysql> desc pwlist;
    +----------+----------+------+-----+---------+-------+
    | Field    | Type     | Null | Key | Default | Extra |
    +----------+----------+------+-----+---------+-------+
    | name     | char(16) | NO   | PRI | NULL    |       |
    | password | char(48) | YES  |     |         |       |
    +----------+----------+------+-----+---------+-------+
    2 rows in set (0.01 sec)
     
    删除当前库中的pwlist表
    mysql> drop table pwlist;
    确认删除结果:
    mysql> show tables;
     
    在mydb库中创建一个学员表
    mysql> CREATE TABLE mydb.student(
        -> 学号 char(9) NOT NULL,
        -> 姓名 varchar(4) NOT NULL,
        -> 性别 enum('男','女') NOT NULL,
        -> 手机号 char(11) DEFAULT '',
        -> 通信地址 varchar(64),
       -> PRIMARY KEY(学号)
       -> ) DEFAULT CHARSET=utf8;  //手工指定字符集,采用utf8
    Query OK, 0 rows affected (0.31sec)
     
    查看student表的字段结构:
    mysql> DESC mydb.student;
     
    查看student表的实际创建指令:
    mysql> SHOW CREATE TABLE mydb.student;
     
    修改MySQL服务的默认字符集
    ]# vim /etc/my.cnf 
    [mysqld]
    .. ..
    character_set_server=utf8
    ]# systemctl restart mysqld  
     
    3.练习各种时间函数的使用
     
    使用now()查看当前的日期和时间
    mysql> SELECT now();
     2017-04-02 04:02:42
     
    使用sysdate()查看系统日期和时间
     2017-04-02 04:03:21
     
    使用curdate()获得当前的日期,不含时间
    mysql> SELECT curdate();
     2017-04-02 
     
    使用curtime()获得当前的时间,不含日期
    mysql> SELECT curtime();
     04:04:55  
     
    分别获取当前日期时间中的年份、月份、日
    mysql> SELECT year(now()),month(now()),day(now());
     2017 |    4 |    2 |
     
    获取系统日期时间中的月份、日
    mysql> SELECT month(sysdate()),day(sysdate());
    |         4 |        2 |
     
    获取系统日期时间中的时刻
    mysql> SELECT time(sysdate());
     04:06:08 
  • 相关阅读:
    JAVA中线程同步的方法(4种)汇总
    java
    指定的元素已经是另一个元素的逻辑子元素。请先将其断开连接。(解决问题总结)
    无法将类型为“System.Windows.Controls.SelectedItemCollection”的对象强制转换为类型“System.Collections.Generic.IList`1
    foreach---集合已修改;可能无法执行枚举操作。
    WPF_View中控件使用单例ViewModel
    判断s2是否能够被通过s1做循环移位(rotate)得到的字符串是否包含
    多列转1列 SqlServer 实现oracle10g的 wmsys.wm_concat()--for xml path('')
    异步对象(XMLHttpRequest)的帮助脚本
    在vs2010使用EF出现CS0012: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义
  • 原文地址:https://www.cnblogs.com/luwei0915/p/10490927.html
Copyright © 2020-2023  润新知