MySQL的基础操作命令

(一)MySQL 用法格式
# mysql [options] [db_name]

参数:
-u, --user=name:指定登录用户名
-p, --password:指定登录密码(注意是小写p),一定要放到最后面
-h, --host=name:指定数据库的主机地址
-P, --port=xxx:指定数据库的端口号(大写P)
-S, --socket=name:指定socket文件
-e, --execute=name:使用非交互式操作(在shell终端执行sql语句)

(二)MySQL重设ROOT密码方法

安装MYSQL时,默认会弹出密码配置界面,显示设置root用户密码,但是一旦忘记就只能想办法重设了。

方法一、使用mysqladmin


# ./mysqladmin -u root password 'newpassword'
# ./mysqladmin -u root -h host_name password 'newpassword'     eg:mysqladmin -uroot -h localhost -p123456 password '112233!';
Usually mysqladmin's path is /usr/bin, host_name is your real host name, e.g. localhost.localdomain.
password后面的引号不是必须的,不过如果密码包含空格或者一些特殊的符号,需要用引号。

方法二、利用mysql set password命令

# ./mysql -u root
mysql> set password for 'root'@'localhost' = password('newpassword');   eg:set password for 'root'@'localhost' = password('112233!');
mysql> set password for 'root'@'host_name' = password('newpassword');

方法三、使用UPDATE语句更新user表重置ROOT密码

# ./mysql -u root
mysql> update mysql.user set password = password('newpassword') where user = 'root';   eg:update mysql.user set password = password('112233!') where user = 'root';
mysql> flush privileges;

方法四、启动MYSQL的安全模式重置ROOT密码

1、停止MySQL进程
执行:/etc/init.d/mysql stop,具体位置可能随系统不同而不同,也可能是/etc/init.d/mysql,/etc/init.d/mysqld等路径,或下面直接终止(最好不要使用下面这个强制语句):

# pkill mysqld
2、以安全模式启动MySQL

# mysqld_safe --skip-grant-tables

3、登陆MYSQL
另开一个新的终端,可以不用密码进入MySQL了

# mysql -u root

4、更改ROOT密码
以下几句依次执行:

use mysql;
select host, user, password from user;
update user set password=password('newpassword') where user='root';
flush privileges;

5.退出控制台,重启MYSQL服务

service mysqld restart
或,
/etc/init.d/mysql restart 

(三)基础命令

mysql> show databases;	查看库(库可以看作就是一个目录,里面存放表)
mysql> use information_schema;相当于cd进去
mysql> show tables;查看当前库里有哪些表
mysql> desc CHARACTER_SETS;描述名为CHARACTER_SETS表的结构
mysql> create user 'username'@'host' identified by 'password'; 
username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆mysql服务器.
mysql> grant privileges on databasename.tablename to 'username'@'host'
privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等.如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
mysql> revoke privilege on databasename.tablename from 'username'@'host';
privilege, databasename, tablename - 同授权部分.
mysql> drop user 'username'@'host'; 删除用户
mysql> create databases demo; 创建数据库demo
mysql> use demo; 切换到demo
mysql> create table if not exists `demo_tbl`(`demo_id`  int  unsigned  auto_increment,`demo_title`  varchar(100)  not null,`demo_author`  varchar(40)  not null,`demo_date`  date, primary key ( `demo_id` )) engine=innodb  default charset=utf8;
建表
demo_tbl
mysql> show create table demo_tbl; 查看表的结构
mysql> desc demo_tbl; 查看表的结构
mysql> insert into demo_tbl (demo_id,demo_title,demo_author,demo_date) values (001,"数据库插入数据简单测试","janson",20210108); 向表demo_tbl插入数据测试
mysql> select * from demo_tbl; 查看表demo_tbl数据
mysql> update demo_tbl set demo_author="haha" where demo_id=1; 修改表demo_tbl数据
mysql> delete from test.demo_tbl where demo_author="haha"; 删除表demo_tbl数据
mysql> alter table demo_tbl add demo_money int(254);  demo_tbl添加列
mysql> alter table demo_tbl drop COLUMN demo_money; demo_tbl删除列
mysql> alter table demo_tbl modify demo_author varchar(100);demo_tbl修改列

 
 
 
 
 
原文地址:https://www.cnblogs.com/dreammer/p/14252449.html