OS:Ubuntu 18.04
MySQL Server version: 5.7.26
在线状态,终端安装:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
这里可能需要更新软件或者修复依赖关系
sudo apt-get update
sudo apt-get -f install
检验MySQL状态
sudo /etc/init.d/mysql status
说明:如果忘记root密码,也可以使用此方法(跳过创建mysqld文件夹的步骤)
sudo mkdir /var/run/mysqld
sudo chmod 777 /var/run/mysqld
sudo service mysql stop
sudo /usr/bin/mysqld_safe --skip-grant-tables
sudo -i
mysql -uroot
mysql> use mysql;
mysql> update user set authentication_string = password('123456') where user='root';
ps -a | grep mysql
sudo kill -9 10740
sudo kill -9 11104
ps -a | grep mysql
sudo service mysql restart
mysql -u root -p
此时,确定的是可以在超级用户模式下正常使用mysql。
如果,在正常状态下,普通用户不能用-uroot登录mysql,可以另外创建mysql用户并对其授权。如下:
以test为例
mysql> insert into mysql.user(Host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject) values("%","test",password("123456"),"N","N","N");
mysql> grant all privileges on *.* to test@"%" identified by "123456";
mysql> grant all privileges on *.* to test@localhost identified by '123456';
mysql> flush privileges; -- 刷新权限
mysql> select * from user \G; -- 可以查看到用户的权限
删除用户的本质,就是在user表中,删除用户那一行数据
进入数据库use mysql
mysql> Delete from user Where User='test' and Host='%'; -- 先查好用户的信息,避免删错
mysql> flush privileges; -- 刷新权限
mysql> drop database testDB; -- 删除用户的数据库
删除账户及权限:
mysql> drop user 用户名@'%';
mysql> drop user 用户名@localhost;
mysql>show database; -- 列出所有数据库
mysql>use '数据库名'; -- 切换数据库
mysql>show tables; -- 列出所有表
mysql>describe 表名; -- 显示数据表结构
mysql>drop database 数据库名; -- 删除数据库
mysql>drop table 数据表名; -- 删除表