设为首页 收藏本站
查看: 1021|回复: 0

[经验分享] mysql轻快入门(3)

[复制链接]

尚未签到

发表于 2018-10-6 13:58:48 | 显示全部楼层 |阅读模式
  有一种情况,你忘记数据库密码啦,你怎么办,砸电脑吗?no.....
  请见下:
  select host,user,password from mysql.user;
  update mysql.user set password=password('123') where name='root';

  grant select,insert,update,delete on cissst.* to  guest@localhost>  //guest本地用户 密码123,对数据库cissit下的表有select,update,delete权限
  (1)windows下
  强行重置mysql  root密码:
  step1:net stop mysql
  step2:mysqld --skip-grant-tables  启动mysql服务,但不加载权限检查
  step3:再开个窗口输入mysql回车进入mysql 界面
  step4:update mysql.user set password=password('mysql') where name='root';
  step5:\q
  step6:update mysql.user set password=password('123') where name='root';
  C:\Documents and Settings\Administrator>netstat -nao |find "3306"
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       328
  TCP    127.0.0.1:1059         127.0.0.1:3306         TIME_WAIT       0
  step7:taskkill -f -pid 328
  step8:net start mysql
  step9:mysql -uroot -pmysql   完成
  (2)linux下差不多
  step1:pkill  mysql&& pkill mysqld
  step2:mysqld --skip-grant-tables  启动mysql服务,但不加载权限检查
  step3:再开个窗口输入mysql回车进入mysql 界面
  step4:update mysql.user set password=password('mysql') where name='root';
  step5:\q
  step6:update mysql.user set password=password('123') where name='root';
  step 7 :ps aux|grep mysql  && pkill mysqld
  然后启动mysql即可
  备份:
  C:\>mysqldump -uroot -pmysql cissst >c:\cissst.sql
  还原:
  创建一个待还原的新数据库:
  sql>create database cissst;
  \q
  c:>mysql -uroot -pmysql cissst  create table t5(f1 char(4),f2 varchar(4));
  Query OK, 0 rows affected (0.16 sec)
  mysql> desc t5;
  +-------+------------+------+-----+---------+-------+
  | Field | Type       | Null | Key | Default | Extra |
  +-------+------------+------+-----+---------+-------+
  | f1    | char(4)    | YES  |     | NULL    |       |
  | f2    | varchar(4) | YES  |     | NULL    |       |
  +-------+------------+------+-----+---------+-------+
  2 rows in set (0.00 sec)
  mysql> insert into t5 values('hi   ','hi   ');
  Query OK, 1 row affected, 1 warning (0.05 sec)
  mysql> select length(f1),length(f2) from t5;
  +------------+------------+
  | length(f1) | length(f2) |
  +------------+------------+
  |          2 |          4 |
  +------------+------------+
  1 row in set (0.03 sec)
  mysql> select concat(f1,'+'),concat(f1,'+') from t5;
  +----------------+----------------+
  | concat(f1,'+') | concat(f1,'+') |
  +----------------+----------------+
  | hi+            | hi+            |
  +----------------+----------------+
  1 row in set (0.00 sec)
  mysql> select concat(f1,'+'),concat(f2,'+') from t5;
  +----------------+----------------+
  | concat(f1,'+') | concat(f2,'+') |
  +----------------+----------------+
  | hi+            | hi  +          |
  +----------------+----------------+
  1 row in set (0.00 sec)
  总结:从上面可以看出char与varchar的区别
  1.(char)一个定长,不够用空格填充,取出来会去掉右边的空格,因此如果后边本身有的空格便会没有了,但varchar不会,varchar空间利用率更高一些,但并非100%,他还会有一些指示字符串长度的一些东西,但定长速度快
  (int)
  mysql>create table t1(f1 int,f2 int(3));
  Query OK, 0 rows affected (0.22 sec)
  mysql> desc t1;
  +-------+---------+------+-----+---------+-------+
  | Field | Type    | Null | Key | Default | Extra |
  +-------+---------+------+-----+---------+-------+
  | f1    | int(11) | YES  |     | NULL    |       |
  | f2    | int(3)  | YES  |     | NULL    |       |
  +-------+---------+------+-----+---------+-------+
  2 rows in set (0.03 sec)
  mysql> insert into t1 values(1002100010,1234);
  Query OK, 1 row affected (0.03 sec)
  mysql> select *from t1;
  +------------+------+
  | f1         | f2   |
  +------------+------+
  | 1002100010 | 1234 |
  +------------+------+
  1 row in set (0.03 sec)
  mysql> create table t2(f1 int unsigned zerofill);
  Query OK, 0 rows affected (0.08 sec)
  mysql> desc t2;
  +-------+---------------------------+------+-----+---------+-------+
  | Field | Type                      | Null | Key | Default | Extra |
  +-------+---------------------------+------+-----+---------+-------+
  | f1    | int(10) unsigned zerofill | YES  |     | NULL    |       |
  +-------+---------------------------+------+-----+---------+-------+
  1 row in set (0.00 sec)
  mysql> insert into t2 values(12);
  Query OK, 1 row affected (0.03 sec)
  mysql> select *from t2;
  +------------+
  | f1         |
  +------------+
  | 0000000012 |
  +------------+
  1 row in set (0.00 sec)
  mysql> insert into t2 values(-12);
  ERROR 1264 (22003): Out of range value adjusted for column 'f1' at row 1
  mysql> create table t3(id int not null auto_increment primary key);
  Query OK, 0 rows affected (0.11 sec)
  mysql> desc t3;
  +-------+---------+------+-----+---------+----------------+
  | Field | Type    | Null | Key | Default | Extra          |
  +-------+---------+------+-----+---------+----------------+

  |>  +-------+---------+------+-----+---------+----------------+
  1 row in set (0.02 sec)
  mysql> create table t4(id int zerofill);
  Query OK, 0 rows affected (0.09 sec)
  mysql> desc t4;
  +-------+---------------------------+------+-----+---------+-------+
  | Field | Type                      | Null | Key | Default | Extra |
  +-------+---------------------------+------+-----+---------+-------+

  |>  +-------+---------------------------+----
  总结:(1)unsigend无符号
  (2)int(M) zerofill 只有zerofill写了M才有意义,zerofill默认unsigned
  

(date)  

  
create table t6(f1 date,f2 datetime,f3 timestamp);
  

  Query OK, 0 rows affected (0.08 sec)
  mysql> desc t6;
  +-------+-----------+------+-----+-------------------+-------+
  | Field | Type      | Null | Key | Default           | Extra |
  +-------+-----------+------+-----+-------------------+-------+
  | f1    | date      | YES  |     | NULL              |       |
  | f2    | datetime  | YES  |     | NULL              |       |
  | f3    | timestamp | NO   |     | CURRENT_TIMESTAMP |       |
  +-------+-----------+------+-----+-------------------+-------+
  3 rows in set (0.02 sec)
  mysql> insert into t6(f1,f2) values('1983-01-02','1986-03-01 12:10:11');
  Query OK, 1 row affected (0.05 sec)
  mysql> select *from t6;
  +------------+---------------------+---------------------+
  | f1         | f2                  | f3                  |
  +------------+---------------------+---------------------+
  | 1983-01-02 | 1986-03-01 12:10:11 | 2014-11-16 09:42:48 |
  +------------+---------------------+---------------------+
  1 row in set (0.00 sec)
  mysql> insert into t6 values(now(),now(),null);
  Query OK, 1 row affected, 1 warning (0.06 sec)
  mysql> select *from t6;
  +------------+---------------------+---------------------+
  | f1         | f2                  | f3                  |
  +------------+---------------------+---------------------+
  | 1983-01-02 | 1986-03-01 12:10:11 | 2014-11-16 09:42:48 |
  | 2014-11-16 | 2014-11-16 09:44:11 | 2014-11-16 09:44:11 |
  +------------+---------------------+---------------------+
  2 rows in set (0.00 sec)
  mysql> show variables like 'time_zone';
  +---------------+--------+
  | Variable_name | Value  |
  +---------------+--------+
  | time_zone     | SYSTEM |
  +---------------+--------+
  1 row in set (0.00 sec)
  mysql> set time_zone='+9:00';
  Query OK, 0 rows affected (0.02 sec)
  mysql> select *from t6;
  +------------+---------------------+---------------------+
  | f1         | f2                  | f3                  |
  +------------+---------------------+---------------------+
  | 1983-01-02 | 1986-03-01 12:10:11 | 2014-11-16 10:42:48 |
  | 2014-11-16 | 2014-11-16 09:44:11 | 2014-11-16 10:44:11 |
  +------------+---------------------+---------------------+
  2 rows in set (0.00 sec)
  mysql> create table t7(sex enum('M','F') default 'M');
  Query OK, 0 rows affected (0.08 sec)
  mysql> insert into t7 values('m'),(null),(1);
  Query OK, 3 rows affected (0.03 sec)
  Records: 3  Duplicates: 0  Warnings: 0
  mysql> select * from t7;
  +------+
  | sex  |
  +------+
  | M    |
  | NULL |
  | M    |
  +------+
  3 rows in set (0.00 sec)
  mysql> select 9>7;
  +-----+
  | 9>7 |
  +-----+
  |   1 |
  +-----+
  1 row in set (0.00 sec)
  总结:
  timestamp 不需要手动填值,它自动获取当前时间,并且时区改变,也会影响它的值,如上,查看时区可以用show variables like 'time_zone';
  设置时区用set time_zone='+9:00
  

编码  

  mysql> \s
  

  mysql  Ver 14.12 Distrib 5.0.83, for Win32 (ia32)

  Connection>  Current database:
  Current user:           root@localhost
  SSL:                    Not in use
  Using delimiter:        ;
  Server version:         5.0.83-community-nt MySQL Community Edition (GPL)
  Protocol version:       10
  Connection:             localhost via TCP/IP
  Server characterset:    gbk
  Db     characterset:    gbk
  Client characterset:    gbk
  Conn.  characterset:    gbk
  TCP port:               3306
  Uptime:                 9 sec
  Threads: 1  Questions: 4  Slow queries: 0  Opens: 12  Flush tables: 1  Open tabl
  es: 6  Queries per second avg: 0.444
  修改编码及校对集
  alter database demo character set gbk;
  alter table t5 character set gbk;
  alter tablet t5 modify f1 char(4) character set gbk;
  alter table t1 modify f1 varchar(20) collate=gbk_bin;
  可以用下面的命令查看支持的校对集
  slect COLLATION_NAME,CHARACTER_SET_NAME where CHARACTER_SET_NAME like '%gbk%';



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-613987-1-1.html 上篇帖子: mysql轻快入门(2) 下篇帖子: Ubuntu的web服务器搭建系列之MySQL(JDK+Tomcat+MySQL+Nginx+Red
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表