MySQL系列--1.安装卸载与用户权限管理

时间:2022-07-15 11:38:32

MySQL安装

1、Ubuntu18下安装MySQL

sudo apt-get install mysql-server

MySQL的版本为5.7.25

2、登录MySQL

采用mysql-server方式,安装过程中不会出现提示用户设置密码,从日志中可以看出

cd /var/log/mysql
vim error.log
2019-04-10T09:06:49.739304Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-10T09:06:49.740479Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

所以登录时,按Enter键即可

sudo  mysql  -uroot  -p

MySQL系列--1.安装卸载与用户权限管理

为了安全起见,给root用户设置一个密码

#use 选择数据库
use mysql
update user set authentication_string=password('新密码') where user='root'
flush privileges;

接下来尝试用新密码登录

sudo mysql -uroot -p '密码'

发现在输入一个错误的密码居然也能登录,查看了好多资料,修改如下

update user set plugin="mysql_native_password"  where user="root";

再次输入错误的密码无法登录。root是超级用户,权限大,日常业务中,会创建一个普通用户来执行一些SQL操作。

3、创建新用户

  1. 创建用户
#语法
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
#创建一个名称为mysql的用户
CREATE USER 'mysql'@'localhost' IDENTIFIED BY '123456';
  1. 授予权限
#语法:
#如果授予所有权限则使用ALL,给所有数据库或表授权用*
GRANT privileges ON databasename.tablename TO 'username'@'host'
#授予所有权限给所有数据库和表
GRANT ALL PRIVILEGES ON * TO mysql@localhost;
  1. 刷新权限
FLUSH  PRIVILEGES ;
  1. 查看用户权限
#语法:
SHOW GRANTS FOR USER@host;
SHOW GRANTS FOR mysql@localhost;
  1. 撤销用户权限
 #语法:
DROP USER 'username'@'host';
  1. 删除用户
#语法:
DROP USER user@host;
#删除mysql用户
DROP USER mysql@host;

4、卸载MySQL

#删除MySQL
sudo apt-get remove mysql-* #清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P