今天是生信星球陪你的第783天

大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~

就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~

这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!

豆豆写于2021.1.29

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

首先还是感谢大家对我们的祝福啦:

现在看还是那么地激动!

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

最近打算迁移一个数据库,看到原来数据库使用到了MySQL的方法,来学习一下怎么使用吧。这次主要看Mac系统的,其实都是现成的软件,然后加上一些基础命令的使用,所以应该也差不多

背景介绍什么是数据库

数据库()是按照数据结构来组织、存储和管理数据的仓库,

每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。

什么是MySQL

来自:

MySQL 是一套快速、功能强大的资料库管理系统。所谓资料库管理系统( , 简称为DBMS),它是透过一组程式模组来组织、管理、储存和读取资料库的资料,任何使用者在操作资料库时,都需要透过资料库管理系统来处理。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于(甲骨文)公司。

RDBMS的特点MySQL的优势

来自

首先下载

官网在:

然后它会很有心机地让你注册mysql 安装,其实不需要:

接着安装

安装过程需要注意:倒数第二步有一个设置管理员密码的操作,这一步的密码一定要切记!

它关乎到后面链接数据库的过程【当然,如果后期真的忘记密码,也有补救措施,不要慌】

安装完,就会在系统设置中看到,多了MySQL的图标,并且其中默认状态是开启

安装后运行

基础使用可以参考:

打开mysql

打开终端(),运行:

mysql -u root -p

查看编码格式

然后在命令提示符后面继续输入:

# 注意最后的;也要输入
show variables like '%char%';

看到其中显示,在最新版的mysql中,是默认安装这个的。它和utf8完全兼容,并且还支持标准,允许显示emoji表情

查看当前的数据库

mysql> SHOW DATABASES;
# 大写或小写均可
mysql> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

MySQL 默认的三个数据库:

新建一个数据库

# 同样也是大小写均可
mysql> create database testdb;
Query OK, 1 row affected (0.00 sec)

在数据库中新建用户

参考:

# We specify the user’s host as localhost and not the server’s IP address
# 用户名是:guest;密码是:guest123
mysql> CREATE USER 'guest'@'localhost' IDENTIFIED BY 'guest123';
Query OK, 0 rows affected (0.00 sec)

这里的指的是本地的计算机

这时mysql 安装,我们只是新建了一个用户,但这个用户并不能对我们的数据库进行任何操作,而且即使用新用户去登陆mysql,也是不可以的。接下来,必须要对新用户赋予权限

赋予(GRANT) 新用户权限

# 如果允许新用户访问所有数据库,第一个星号就是指的数据库【但实际操作中不推荐】
mysql> GRANT ALL PRIVILEGES ON * . * TO 'guest'@'localhost';

#
 如果只允许新用户访问某个数据库,但可以访问其中的所有表单(table),第二个星号就是table
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'guest'@'localhost';
Query OK, 0 rows affected (0.01 sec)

#
 最后把这些权限上传
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

各种权限的解释:

一般的格式是:

mysql> GRANT type_of_permission ON database_name.table_name TO 'username'@'localhost';

记得每次更新完权限以后,都要上传一下:FLUSH ;

如果要取消()某种权限:

mysql> REVOKE type_of_permission ON database_name.table_name FROM 'username'@'localhost';

查看用户当前的权限

# 标准格式是:
SHOW GRANTS FOR 'username'@'localhost';
# 例如
mysql> SHOW GRANTS FOR 'guest'@'localhost';

+-----------------------------------------------------------+
| Grants for guest@localhost                                |
+-----------------------------------------------------------+
| GRANT USAGE ON *.* TO `guest`@`localhost`                 |
| GRANT ALL PRIVILEGES ON `testdb`.* TO `guest`@`localhost` |
+-----------------------------------------------------------+
2 rows in set (0.00 sec)

不仅删除用户权限,还将整个用户删除

# 和删除数据库一样,用drop
DROP USER 'username'@'localhost';

测试新用户能否使用

# 先退出当前
mysql> quit
Bye
# 然后
mysql -u [username] -p

删除数据库

mysql> drop database testdb;
Query OK, 0 rows affected (0.00 sec)

#
 then double check
mysql> show databases;

注意


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注