第二十四课笔记13.1~13.6

mysql

13.1设置更改root密码

1、以root用户登录mysql

·        /usr/local/mysql/bin/mysql -uroot #需使用绝对路径,因该路径并不在环境变量PATH中,可以更改环境变量PATH,增加mysql命令的绝对路径到PATH中:export PATH=$PATH:/usr/local/mysql/bin,若想使变量永久生效,需要将该命令放到/etc/profile下,并执行:source /etc/profile使修改生效,之后可直接使用命令:mysql -uroot

·        mysqladmin -uroot password '123456'         #给mysql的root用户设置密码

·        mysql -uroot -p                                            #加上“-p”选项,回车,输入密码后登录,或者直接“-p”后面接密码:mysql -uroot -p123456                             

·        mysqladmin -uroot -p'123456' password'test456' #密码重置

2、如果不知道mysql的root用户密码,可编辑/etc/my.cnf文件,在[mysqld]下增加“skip-grant”,表示忽略授权,即不用用户名和密码可直接登录

·        /etc/init.d/mysqld restart                             #改完/etc/my.cnf文件后重启mysql服务才可生效

·        mysql -uroot                                               #此时无需输入密码可直接登录

·        use mysql;                                                  #登录mysql后切换到mysql库(命令行前缀“mysql>”)

·        update user set password=password('aminglinux')where user='root'; #前一个“password”即密码,后一个“password”为函数,括号中即为真正的密码,改完后,将之前/etc/my.cnf文件中添加的“skip-grant”注释掉

·        /etc/init.d/mysqld restart                             #重启mysql服务

13.2 连接MySQL 

·        mysql -uroot -p123456                                        #连接本机的MySQL

·        mysql -uroot -p123456 -h127.0.0.1-P3306          #远程连接MySQL,在A机器上远程连接B机器上的MySQL,需要输入B机器的IP和Mysql服务的端口号

·        mysql -uroot -p123456-S/tmp/mysql.sock           #mysql进程不仅监听3306端口,也监听了一个socket,此时可通过该socket连接MySQL,只适合本机

·        mysql -uroot -p123456 -e “showdatabases”        #加“-e”选项,接连接MySQL后的一些操作命令,列出所有database

13.3 mysql常用命令


查询库 :show databases;

·        切换到mysql库: use mysql; #该命令可不用分号

·        查看库里的表: show tables;

·        查看表里的字段:desc tb_name;

·        查看建表语句:show create table tb_name\G #“\G”表示竖排显示,加“\G”后,就不用加分号了,因它本身就是一个结束符号,若加了分号后,mysql以为又敲了另外一个命令,而另外一个命令是空,就会报ERROR

·        查看当前用户: select user();

·        查看当前使用的数据库:select databsase();

·        创建库: create database db1; 切换到db1库:use db1; 

·        创建表,同时定义表的字段“id”和“name”:createtable t1(`id` int(4), `name` char(40));

·        查看当前数据库版本: select version();

·        查看数据库状态:show status;

·        查看各参数: show variables; show variables like 'max_connect%';

·        修改参数:set global max_connect_errors=1000;

·        查看队列: show processlist; show full processlist;

13.4 mysql用户管理

·        grant all on *.* to 'user1' identified by'123456'; #登录mysql后,创建user1用户并授权,“all”代表所有的权限,比如SELECT、INSERT、DROP等,第一个“*”代表所有的库,后面的“.*”代表所有的表,合起来即是所有库的所有的表,用户的密码为“123456”,创建用户后若以该用户登录,则需要指定“-h127.0.0.1”,因默认是socket连接的,命令:grant all on *.* to 'user1' @'localhost' identified by '123456'; 创建对应socket可直接登录

·        grant SELECT,UPDATE,INSERT on db1.* to'user2'@'127.0.0.1' identified by 'passwd';                  #创建用户user2,授予指定的权限,针对db1库的所有表,并指定客户端IP,即该用户只能通过指定的IP(来源IP)登录服务器

·        

·        grant all on db1.* to 'user3'@'%'identified by 'passwd';                                                                           #创建用户user3,赋予所有权限,针对db1库的所有表,来源IP为所有IP,“%”代表通配所有IP

·        show grants;                                                                   #查看当前登录用户的授权

·        show grants for user2@192.168.133.1;                          #查看指定用户的授权,若同样的用户及权限要增加另一个IP,使之可以从该IP登录,直接复制命令的两行结果,修改IP并运行即可

13.5 常用sql语句


·        select count(*) from mysql.user; #查看mysql库的user表的行数,在当前库下也可查询其它库的表的相关数据

·        select * from mysql.db\G;                         #查看mysql库的user表的所有内容   

·        select db from mysql.db;                          #查看mysql库的user表的db字段

·        select db,user from mysql.db;                   #查看mysql库的user表的db字段和user字段

·        select * from mysql.db where host like'192.168.%\G'; #模糊查询

·        insert into db1.t1 values (1, 'abc');                                    #给db1库的t1表插入字段值

·        delete from db1.t1 where id=1;                                         #删除字段中id=1的所在字段

·        update db1.t1 set name='aaa' whereid=1;                        #更改字段值

·        truncate table db1.t1;                                                       #清空表t1的内容,命令:“descdb1.t1;”查看,表结构还存在,仅仅是内容被清空

·        drop table db1.t1;                                                             #删除表的内容,包括表的结构

·        drop database db1;                                                          #删除数据库db1

13.6 MySQL数据库的备份与恢复


·        备份库: mysqldump -uroot -p123456 mysql > /tmp/mysql.sql                #备份mysql库 


·        恢复库: mysql -uroot -p123456 mysql < /tmp/mysql.sql

·        备份表: mysqldump -uroot -p123456 mysql user > /tmp/user.sql #把mysql库里的user表备份

·        恢复表: mysql -uroot -p123456 mysql < /tmp/user.sql #恢复表只需指定库名即可,无需指定表名

·        备份所有数据库: mysqldump -uroot -p123456 -A >/tmp/123.sql

·        只备份表结构,不备份数据: mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值