第一部分 基础与软连接
启动数据库: `$ mysql.server start`
关闭数据库: `$ mysql.server stop`
链接数据库: `$ mysql -uroot -p`
brew 安装位置
/usr/local/Cellar/mariadb/10.1.19/
设置软连接
此时mysql 与 mysqladmin 所在的路径为
/usr/local/Cellar/mariadb/10.1.19/bin/mysql
/usr/local/Cellar/mariadb/10.1.19/bin/mysqladmin
设置的具体步骤:
$ ln -s /usr/local/Cellar/mariadb/10.1.19/bin/mysql /usr/bin
$ ln -s /usr/local/Cellar/mariadb/10.1.19/bin/mysqladmin /usr/bin
第二部分 数据库ROOT更改密码
$ mysqladmim -u root -p flush-privileges password
在此会提示输入旧密码, 但是当你输入新密码时不会显示在桌面上;
$ mysqladmim -u root -p flush-privileges password
Enter password:
New password:
Confirm new password:
第三部分 操作用户并设置权限
3.0 查看表结构---DESC (Description)
MariaDB [typedb] > DESC 表名
3.1 罗列用户:
> SELECT User, Host FROM mysql.user;
+------+-----------------------+
| User | Host |
+------+-----------------------+
| root | 127.0.0.1 |
| root | ::1 |
| | bwf-huanghaowei.local |
| root | bwf-huanghaowei.local |
| | localhost |
| root | localhost |
+------+-----------------------+
BWF-huanghaowei:~ 51Code$
3.2 添加用户
MariaDB [typedb]> GRANT USAGE ON *.*
TO 'username'@'host'
IDENTIFIED BY 'password';
以上参数:
1. *username* – 你将创建的用户名,
2. **.**表示所有的数据库和所有表。
3. *host* – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从*任意远程主机登陆*,可以使用**通配符---%**.
4. **password **该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登 陆服务器.
实例代码
MariaDB [typedb]> GRANT USAGE ON *.*
TO 'hhw'@'localhost'
IDENTIFIED BY '1234zxc!';
3.3 授权
以下代码为hhw用户授予SELECT
的权利,
MariaDB [typedb]> GRANT SELECT ON *.* TO 'hhw'@'localhost';
查询某个用户的权限:, 密码显示的是加密过后的密码:
$ mysql -u root -p -e "SHOW GRANTS FOR 'test'@'localhost' \G"
*************************** 1. row ***************************
Grants for russell@localhost:
GRANT SELECT ON *.* TO 'test'@'localhost'
IDENTIFIED BY PASSWORD '*B1A8D5415ACE5AB4BBAC120EC1D17766B8EFF1A1'
如果授予全部权利: 将SELECT 改为 ALL
即可;
3.3 删除账户及权限:
>drop user 用户名@'%';
>drop user 用户名@ localhost;
3.4 修改用户密码
> GRANT USAGE ON *.*
TO 'hhw'@'localhost'
IDENTIFIED BY '1234zxc!';
3.5 切换用户, 先exit
, 然后mysql -u 用户 -p
;
3.6 查看当前用户名: > SELECT USER();
约定:
1. MySQL语句`关键字不区分大小写`, 采用**大写**,数据库/表名/列明默认**采用小写**,容易区分;
2. 使用简单且具有描述性的名称
3. 数据库名/表名/列名 均采用小写/数字/下划线
4. 关键字采用大写
结束以上步骤时,屏幕基本已经不堪入目了,clear
完全没用; 肿么办?
MariaDB [typedb]> SYSTEM CLEAR;
数据库部分
第一部分 开始创建数据库
数据库可有多个表,每个表可有多行(或多条记录),每行可有多列 (域),用于存放每个项目的各方面信息。与分别建库不同,分别建表是一种惯用的策略;
####### 1.1 数据库结构
1.1.1 数据库创建; SQL语句加上名称就可以了.
MariaDB [(none)]> CREATE DATABASE students;
Query OK, 1 row affected (0.00 sec)
1.1.2 查看数据库
> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| students |
| studyDB |
+--------------------+
5 rows in set (0.00 sec)
1.1.3 删除数据库
MariaDB [(none)]> DROP DATABASE students;
Query OK, 0 rows affected (0.00 sec)
1.1.4 操作其中的数据库(使用其中的一个数据库)
MariaDB [(none)]> USE studyDB;
Database changed
MariaDB [studyDB]>
####### 1.2 表相关的内容
1.2.1 创建完数据库, 接着在数据库中插入表, 创建students表, 五个域(列)的表,其中每列的信息以逗号分隔开来, 每一列,我们都指定了名称和类型,
MariaDB [studyDB]> CREATE TABLE studets(
-> stu_id INT AUTO_INCREMENT PRIMARY KEY,
-> stu_name char(20),
-> stu_sex char(2),
-> stu_decription text);
Query OK, 0 rows affected (0.03 sec)
1.2.3 MYSQL关键字:
PRIMARY KEY: 主键,又称主码(英语:primary key或unique key)。数据库表中对储存数据对象予以唯一
和完整标识
的数据列或属性的组合。一个数据列只能有一个主键
,且主键的取值不能缺失,即不能为空值
(Null)。
附录
数据库一些常识
1、char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。
2、同时char和varchar最大的区别就在于char不管实际value都会占用n个字符的空间,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1<=n。
3、超过char和varchar的n设置后,字符串会被截断。
4、char的上限为255字节,varchar的上限65535字节,text的上限为65535。
5、char在存储的时候会截断尾部的空格,varchar和text不会。
6、varchar会使用1-3个字节来存储长度,text不会。
附加:
前期预备知识点:
052049040017593.pngln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
1.命令行格式
ln [参数][源文件或目录][目标文件或目录]
2.硬链接(hard link)与软链接(symbolic link),
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
3.参数
必要参数:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
选择参数:
-S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”
-V “-V<备份方式>”或“--version-control=<备份方式>”
--help 显示帮助信息
--version 显示版本信息
/bin /sbin /usr/sbin /usr/bin 一般存放的内容
1. /usr/bin: 一般存放在后期安装的一些软件的运行脚本。
2. /sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统
3. /bin下存放一些普通的基本命令,如ls,chmod等,这些命令在Linux系统里的配置文件脚本里经常用到。
4. /usr/sbin存放的一些非必须的系统命令;
参考链接
MySQL字符数据类型char与varchar的区别
[由MySQL中char和varchar效率想到的]
(http://bbs.chinaunix.net/thread-1696053-1-1.html)
MySQL之char、varchar和text的设计
无痛SQL Schema的10条军规
MySQL之权限管理
更多精彩内容请关注“IT实战联盟”哦~~~
IT实战联盟.jpg
网友评论