1 命令行连接
1.1 连接Mysql
格式: mysql -h主机地址 -u用户名 -p用户密码
#连接本地数据库
mysql -uroot -proot
mysql -umrqq -pabc
mysql -uroot -p #回车后输密码
#连接远程数据库
mysql -h192.168.10.210 -u root -p;
用户名前可以有空格也可以没有空格。
刚安装的MYSQL,root是没有密码的,直接回车进入。
退出MYSQL命令: exit quit
1.2 修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
mysqladmin -u root -p abc password abc123
#刚安装的root增加密码
mysqladmin -u root -password abc
1.3 重置root密码
- 先停掉mysql服务
sudo service mysqld stop
- 安全模式登陆
sudo mysqld_safe --skip-grant-tables --skip-networking &
- 重置密码
mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("mynewpassword") where User='root';
mysql> flush privileges;
mysql> quit
- 重启服务
sudo service mysqld restart
2 用户管理
2.1 增加新用户
格式:CREATE USER ‘username’@‘login host’ IDENTIFIED BY ‘password’;
create user 'mrqq'@'localhost' identified by 'abc'; --仅允许本地登陆
create user 'mrqq'@'192.168.1.101' identified by 'abc'; --仅允许指定IP登陆
create user 'mrqq'@'%' identified by 'abc'; --任意IP登陆
create user 'mrqq'@'%' identified by ''; --无密码
create user 'mrqq'@'%'; --无密码
2.2 授权
命令:GRANT privileges ON databasename.tablename TO ‘username’@‘host’ [WITH GRANT OPTION]
grant select,insert,update,delete,alter on *.* to 'mrqq'@'localhost';
grant all on db1.tb1 to 'mrqq'@'localhost'; --所有权限
grant all on *.* to 'mrqq'@'localhost' with grant option; --可以给其他用户授权
2.3 撤销授权:
命令:REVOKE privilege ON databasename.tablename FROM ‘username’@‘host’;
revoke all on *.* from 'mrqq'@'localhost';
2.4 修改密码
命令:SET PASSWORD FOR ‘username’@‘host’ = PASSWORD(‘newpassword’);
set password for 'mrqq'@'localhost' = password('abc123');
set password = password('abc123'); --修改当前用户密码
2.5 删除用户
命令:DROP USER ‘username’@‘host’;
drop user 'mrqq'@'localhost';
2.6 显示用户列表
select user, host from mysql.user;
3 数据库操作
3.1 创建数据库
create database study;
3.2 显示数据库列表
show databases
3.3 删除数据库
drop database db1;
drop database if exists db2;
3.4 连接数据库
use dbname;
3.5 查看当前选择的数据库
select database();
3.6 备份数据库
导出整个数据库
mysqldump -u user_name -p database_name > outfile_name.sql
mysqldump -u user_name -p -d database_name > outfile_name.sql #不带数据
导出一个表
mysqldump -u user_name -p database_name table_name > outfile_name.sql
4 其他命令
4.1 查看警告信息
以上命令执行过程中,如果出现警告信息,如:
Query OK, 0 rows affected, 1 warning (0.00 sec)
可以执行:
show warnings;
4.2 显示MYSQL的版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.24 |
+-----------+
1 row in set (0.00 sec)
4.3 显示当前时间
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2019-11-06 12:26:25 |
+---------------------+
1 row in set (0.00 sec)
4.4 显示年月日
SELECT DAYOFMONTH(CURRENT_DATE);
SELECT MONTH(CURRENT_DATE);
SELECT YEAR(CURRENT_DATE);
4.5 当计算器用
mysql> select ((4 * 4) / 10 ) + 25;
+----------------------+
| ((4 * 4) / 10 ) + 25 |
+----------------------+
| 26.6000 |
+----------------------+
1 row in set (0.00 sec)