MySQL系列--1.安装卸载与用户权限管理
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
为了安全起见,给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、创建新用户
- 创建用户
#语法
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
#创建一个名称为mysql的用户
CREATE USER 'mysql'@'localhost' IDENTIFIED BY '123456';
- 授予权限
#语法:
#如果授予所有权限则使用ALL,给所有数据库或表授权用*
GRANT privileges ON databasename.tablename TO 'username'@'host'
#授予所有权限给所有数据库和表
GRANT ALL PRIVILEGES ON * TO mysql@localhost;
- 刷新权限
FLUSH PRIVILEGES ;
- 查看用户权限
#语法:
SHOW GRANTS FOR USER@host;
SHOW GRANTS FOR mysql@localhost;
- 撤销用户权限
#语法:
DROP USER 'username'@'host';
- 删除用户
#语法:
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