mysql数据库安装、连接、创建、权限

SQL(Structured Query Language结构化查询语⾔)

linux环境下:

1.安装数据库:

sudo apt install -y mysql-server mysql-client

2.开启数据库服务:

1. Ubuntu : service mysql start|stop|restart|status
2. Deepin : systemctl start|stop|restart|status mysqld
3. CentOS7 : systemctl start|stop|restart|status mysqld
4. CentOS6 : service mysqld start|stop|restart|status

3.连接数据库:

-- 第一次连接数据库
sudo mysql -h localhost -u root -p
-- 创建数据库用户之后,使用数据库用户连接
mysql -h localhost -u username -p123456 [-P3306]
  1. -h : host(ip地址) localhost = 127.0.0.1

  2. -u : username(数据库⽤户账户)

  3. -p : password(密码)

  4. -P : port(端⼝, 默认端⼝3306)

备注

第⼀次使⽤ root 连接后最好添加⼀个新的⽤户来操作。出于安全考虑,⽇常开发中最好不要使⽤ root

-- 创建新⽤户,并设置密码 

-- *.* 代表该⽤户可以操作任何库、任何表

-- 主机名可以使⽤ '%', 代表允许该⽤户从任何机器登陆

GRANT ALL PRIVILEGES on *.* to '⽤户名'@'localhost' IDENTIFIED BY "密码" WITH

GRANT OPTION;

-- 刷新使权限⽣效

flush privileges;

4.退出数据库

四种⽅式效果⼀样:

  1. exit

  2. quit

  3. \q

  4. 快捷键: ctrl + d

5. 密码忘记怎么办?

  1. 打开配置: vim /etc/mysql/my.cnf

  2. 添加这么⼀段:

[mysqld] 
skip-grant-tables

如果⽂件中已存在 [mysqld] , 则直接将 skip-grant-tables 写到其下⽅即可。

  1. 修改完成后,保存退出,重启服务: sudo systemctl restart mysqld

创建账户、权限管理

  1. 创建账户、权限授予

    8.0 之前版本
GRANT ALL PRIVILEGES on *.* to '⽤户名'@'主机/%' IDENTIFIED BY "密码" WITH GRANT OPTION; 
flush privileges; -- 刷新使权限⽣效

ALL PRIVILEGES : 授予全部权限, 也可以指定 select 、 insert 等

*.*: 允许操作的数据库和表

WITH GRANT OPTION : 带有该⼦句说明允许⽤户将⾃⼰拥有的权限授予别⼈

8.0 之后版本
CREATE USER `⽤户名`@`主机` IDENTIFIED BY '密码'; -- 创建账户 
GRANT ALL ON *.* TO `⽤户名`@`主机` WITH GRANT OPTION; -- 授权
  1. 修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';" 

3.查看权限

show grants; -- 查看当前⽤户的权限 
show grants for 'abc'@'localhost'; -- 查看⽤户 abc 的权限
  1. 回收权限

revoke delete on *.* from 'abc'@'localhost'; 

5.删除⽤户

use mysql; 
select host, user from user;
drop user ⽤户名@'%';
  • 安装mycli(mysql语句提示):pip3 install mycli

    安装后,连接数据库语句:mycli -h localhost -u 数据库用户名 -p 密码

    mycli配置文件~/.myclirc

posted @ 2020-06-17 14:17  JustInTime  阅读(198)  评论(0)    收藏  举报