mysql数据库安装、连接、创建、权限
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]
-
-h : host(ip地址) localhost = 127.0.0.1
-
-u : username(数据库⽤户账户)
-
-p : password(密码)
-
-P : port(端⼝, 默认端⼝3306)
备注
第⼀次使⽤ root 连接后最好添加⼀个新的⽤户来操作。出于安全考虑,⽇常开发中最好不要使⽤ root
-- 创建新⽤户,并设置密码
-- *.* 代表该⽤户可以操作任何库、任何表
-- 主机名可以使⽤ '%', 代表允许该⽤户从任何机器登陆
GRANT ALL PRIVILEGES on *.* to '⽤户名'@'localhost' IDENTIFIED BY "密码" WITH
GRANT OPTION;
-- 刷新使权限⽣效
flush privileges;
4.退出数据库
四种⽅式效果⼀样:
-
exit
-
quit
-
\q
-
快捷键: ctrl + d
5. 密码忘记怎么办?
-
打开配置: vim /etc/mysql/my.cnf
-
添加这么⼀段:
[mysqld]
skip-grant-tables
如果⽂件中已存在 [mysqld] , 则直接将 skip-grant-tables 写到其下⽅即可。
-
修改完成后,保存退出,重启服务: sudo systemctl restart mysqld
创建账户、权限管理
-
创建账户、权限授予
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; -- 授权
-
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';"
3.查看权限
show grants; -- 查看当前⽤户的权限
show grants for 'abc'@'localhost'; -- 查看⽤户 abc 的权限
-
回收权限
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 密码

浙公网安备 33010602011771号