精华内容
下载资源
问答
  • mysql常见问题集锦

    千次阅读 2018-08-03 16:39:39
    mysql常见问题集锦 一、数据类型相关问题 1、varchar(N)占用多少空间 (1)varchar(N)里的N是字符数,而不是字节数; (2)字符类型(varchar text blob等)空间=字符实际长度+字段长度; (3)varchar(N)...

    mysql常见问题集锦

    一、数据类型相关问题

    1、varchar(N)占用多少空间

    (1)varchar(N)里的N是字符数,而不是字节数;

    (2)字符类型(varchar text blob等)空间=字符实际长度+字段长度;

    (3)varchar(N)占用的空间: 
    如果是lantin1字符集时,最大空间=1N+(1 or 2)bytes,因为lantin1的1个字符占用1个字节,后面加的1或2bytes是用来表示字段长度的,当可能超过255个字节时,要2个bytes来表示字段长度; 
    如果是utf8字符集时,最大空间=3
    N+(1 or 3)bytes,因为utf8的1个字符占用3个字节,后面加的1或2bytes是用来表示字段长度的,当可能超过255字节时,要2个bytes来表示字段长度;

    (4)当varchar(N)可能超过255字节时,字段长度=2; 
    例子:varchar(100)字符集为utf8时,’aaaa‘分别占用几个字节? 
    因为:varchar(100)如果存储中文的话,将占用3100 >225个字节,因此,需要2个字节来表示字段长度 
    ’aaaa‘占用的空间=3
    100+2=302bytes

    (5)补充: 

    2、char和varchar(N)类型的区别:

    (1)char最大可表示255个字符,而varchar的总长度不能超过65535个字节(bytes),最大支持字符数根据字符集不同而不同; 
    (2)char会截掉尾部空字符串,而varchar不会截掉尾部空字符串; 
    (3)”char固定长度,varchar变长“这种说法对于innodb存储引擎是错误的。 
    innodb中是根据row_format来决定的: 
     
    除了redundant外,在处理多字节字符集(gbk utf8等)char字段时,innodb都会当成变长字符来处理,单字节的则仍然分配固定长度空间;也就是说,utf8 gbk字符集的char和varchar一致,都是变长的,而lantin1字符集的char类型是固定长度的。 
    【总结】 
    使用innodb存储引擎,对于常用的字符集gbk或utf8,char和varchar没区别,建议用varhcar类型。

    3、varchar和text都可以表示长字符,且都是实际多少字符就占用多少空间,那需要存储多长字符串时,是选择varchar还是text呢?

    (1)功能方面: 
    varchar长度有限制,所有char和varchar字段总和不能超过65535字节;且varchar可以有默认值。 
    而text类型最长可以存储4G,且text不能设置默认值; 
    【如何选择】 
    a、如果表中有太多长字段,可能无法将所有字段都建为varchar(例如,所有字段建立为varhcar大于65535字节的时候),可以结合varchar和text使用。 
    b、如果字段需要有默认值,那么使用varchar。

    (2)性能方面: 
    有一种常见说法是“text字段是溢出字段,而varchar不会溢出,所以varchar更高效”======这种说法不完全对,因为text字段不一定溢出,只有当一整个行长度无法存入页中,可能会将最长的字段将余下行链接到其他页,这一点上text和varchar都是一样的 ;

    text字段无法利用tmp_table_size内存排序,直接磁盘排序(using filesort);

    3、存储字符串推荐选择使用varchar(N),N尽量小,为什么?

    varchar(10)和varchar(100)为例子: 
    引擎层(磁盘存储与buffer pool)空间使用上两种是相同的; 
    server层处理数据时并非按照实际大小分配内存。

    一些操作:排序、表DDL,varchar(100)会使用更多的磁盘和内存空间,效率会更低; 
    因为:server层并不知道引擎层数据是怎么组织的,各引擎组织方式肯定不一样,server层在分配内存时使用的是表定义时的长度,一些需要在server处理数据的操作都可能会受到影响!比如排序、加索引时会使用更多内存(tmp_table_size)或磁盘空间,性能受到影响。

    4、int(11),给int指定长度有什么意义?

    int(11)和int(4)为例子: 
    (1)int(11)和int(4)没有区别,只有在字段定义时加了zerofill属性,显示字段值时不足指定宽度会补0,但是zerofill几乎不用; 
    【补充】 
    默认int就是int(11),这是有符号的整型,如果是无符号整型则是int(10)

    ===========================================

    二、锁相关问题

    innodb存储引擎的锁按照锁粒度分:行级锁、表级锁两种;按照锁模式分:共享锁、独占锁; 
    行级锁分为:记录锁、间隙锁(gap key)、next-key锁(记录锁+间隙锁);

    1、行级锁

    (1)概念:

    行级锁是MySQL中粒度最小的一种锁,他能大大减少数据库操作的冲突。但是粒度越小,实现的成本也越高。MYISAM引擎只支持表级锁,而INNODB引擎能够支持行级锁。

    (2)innodb的行级锁的三种类型:

    (2.1)记录锁:是加在索引记录上的; 
    (2.2)间隙锁:gap lock,对索引记录间的范围加锁,或者加在最后一个索引记录的前面或后面;间隙锁主要是防止幻读,用在Repeated-read(简称RR)隔离级别下,在Read-commited(简称RC)下,一般没有间隙锁(外键情况下例外)。且间隙锁只会出现在辅助索引上,唯一索引和主键索引没有间隙锁。间隙锁(无论是S还是X)都只会阻塞insert操作。 
    (2.3)Next-key锁:记录锁和间隙锁的组合,间隙锁锁定记录锁之前的范围;

    (3)行级锁又分为共享锁和排他锁

    INNODB的行级锁有共享锁(S LOCK)和排他锁(X LOCK)两种。共享锁允许多个线程读同一行记录,不允许任何线程对该行记录进行修改。排他锁允许当前线程删除或更新一行记录,其他线程不能操作该记录。

    (4)共享锁

    【用法】: SELECT … LOCK IN SHARE MODE; MySQL会对查询结果集中每行都添加共享锁。 
    【 锁申请前提】:当前没有线程对该结果集中的任何行使用排他锁,否则申请会阻塞。 
    【操作限制】:如下是,使用共享锁和不使用共享锁的线程,对锁定记录操作的限制 
     
    (4.1) 使用共享锁线程可对其锁定记录进行读取,其他线程同样也可对锁定记录进行读取操作,并且这两个线程读取的数据都属于同一个版本。 
    (4.2) 对于写入操作,使用共享锁的线程需要分情况讨论,当只有当前线程对指定记录使用共享锁时,线程是可对该记录进行写入操作(包括更新与删除),这是由于在写入操作前,线程向该记录申请了排他锁,然后才进行写入操作;当其他线程也对该记录使用共享锁时,则不可进行写入操作,系统会有报错提示。不对锁定记录使用共享锁的线程,当然是不可进行写入操作了,写入操作会阻塞。 
    (4.3)使用共享锁进程可再次对锁定记录申请共享锁,系统并不报错,但是操作本身并没有太大意义。其他线程同样也可以对锁定记录申请共享锁。 
    (4.4)使用共享锁进程可对其锁定记录申请排他锁;而其他进程是不可以对锁定记录申请排他锁,申请会阻塞。

    (5)排他锁:

    【用法】: SELECT … FOR UPDATE; MySQL会对查询结果集中每行都添加排他锁,在事物操作中,任何对记录的更新与删除操作会自动加上排他锁。 
    【锁申请前提】:当前没有线程对该结果集中的任何行使用排他锁或共享锁,否则申请会阻塞。 
    【操作限制】:如下是,使用排他锁和不使用排他锁的线程,对锁定记录操作限制 
     
    (5.1)使用排他锁线程可以对其锁定记录进行读取,读取的内容为当前事物的最新版本;而对于不使用排他锁的线程,同样是可以进行读取操作,这种特性是一致性非锁定读。即对于同一条记录,数据库记录多个版本,在事物内的更新操作会反映到新版本中,而旧版本会提供给其他线程进行读取操作。 
    (5.2)使用排他锁线程可对其锁定记录进行写入操作;对于不使用排他锁的线程,对锁定记录的写操作是不允许的,请求会阻塞。 
    (5.3)使用排他锁进程可对其锁定记录申请共享锁,但是申请共享锁之后,线程并不会释放原先的排他锁,因此该记录对外表现出排他锁的性质;其他线程是不可对已锁定记录申请共享锁,请求会阻塞。 
    (5.4)使用排他锁进程可对其锁定记录申请排他锁(实际上并没有任何意义);而其他进程是不可对锁定记录申请排他锁,申请会阻塞。

    (6)SQL里的锁使用情况举例

    (6.1)delete from t where id=10;该SQL会在主键索引(id=10)上加记录锁,锁住记录行,且是独占锁(意向独占锁,ix); 
    (6.2)select * from t where id=10 lock in shared mode;该SQL会在主键索引(id=10)上加j记录锁,锁住记录,且是共享锁(意向共享锁,is); 
    (6.3)insert into t values(12,1);该SQL会在insert前会加一个insert intention gap lock,这个锁是允许并发但是不允许id同值的并发。理解上就是:允许其他insert语句,但是不允再对id=12做并发插入;insert后在(12,1)上加记录锁。 
    (6.4)RR模式下create table P as select * from T;这个SQL里会对表T加锁,加共享的Next-key lock,锁住T表所有记录以及间隙锁; 
    (6.5)RC模式下create table P as select * from T;这个SQL不会对T表加锁,对T表做一致性读(快照读);

    2、表级锁

    (1)概念

    表级锁是MySQL中粒度最大的一种锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持。最常使用的MYISAM与INNODB都支持表级锁定。

    (2)表级锁的类型

    表级锁定分为两类:读锁与写锁。读锁是预期将对数据表进行读取操作,锁定期间保证表不能被修改。写锁是预期会对数据表更新操作,锁定期间保证表不能被其他线程更新或读取。

    (3)读锁

    【用法】:LOCK TABLE table_name [ AS alias_name ] READ; 指定数据表,LOCK类型为READ即可,AS别名是可选参数,如果指定别名,使用时也要指定别名才行。 
    【申请读锁前提】:当前没有线程对该数据表使用写锁,否则申请会阻塞。 
    【操作限制】:其他线程可以对锁定表使用读锁;其他线程不可以对锁定表使用写锁 
     
    对于使用读锁的MySQL线程,由于读锁不允许任何线程对锁定表进行修改,在释放锁资源前,该线程对表操作只能进行读操作,写操作时会提示非法操作。而 对于其他没使用锁的MySQL线程,对锁定表进行读操作可以正常进行,但是进行写操作时,线程会等待读锁的释放,当锁定表的所有读锁都释放时,线程才会响 应写操作。

    (4)写锁

    【用法】:LOCK TABLE table_name [AS alias_name] [ LOW_PRIORITY ] WRITE;别名用法与读锁一样,写锁增加了指定优先级的功能,加入LOW_PRIORITY可以指定写锁为低优先级。 
    【申请写锁前提】:当没有线程对该数据表使用写锁与读锁,否则申请回阻塞。 
    【操作限制】:其他MySQL线程不可以对锁表使用写锁、读锁 
     
    对于使用写锁的MySQL线程,当前线程可以对锁定表进行读写操作。但是对于其他线程,对指定表读写操作都是非法的,需要等待直到写锁释放。

    (5)读锁和写锁的优先级关系

    对于锁分配的优先级是: LOW_PRIORITY WRITE < READ < WRITE 
    (5.1)当多个线程申请锁,会优先分配给WRITE锁,不存在WRITE锁时,才分配READ锁,LOW_PRIORITY WRITE需要等到WRITE锁与READ都释放后,才有机会分配到资源。 
    (5.2)对于相同优先级的锁申请,分配原则为谁先申请,谁先分配。

    (6)其他注意事项

    (6.1)不能操作(查询或更新)没有被锁定的表。 
    例如:当只申请table1的读锁,SQL语句中包含对table2的操作是非法的:

    mysql> LOCK TABLE test READ;
    Query OK, 0 rows affected (0.00 sec)
    mysql> SELECT * FROM test_myisam;
    ERROR 1100 (HY000): Table 'test_myisam' was not locked with LOCK TABLES
    

    (6.2)不能在一个SQL中使用两次表(除非使用别名) 
    当SQL语句中多次使用一张表时,系统会报错。例如:

    mysql> LOCK TABLE test READ;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SELECT * FROM test WHERE id IN (SELECT id FROM test );
    ERROR 1100 (HY000): Table 'test' was not locked with LOCK TABLES
     解决这个问题的方法是使用别名,如果多次使用到一个表,需要声明多个别名。
    
    mysql> LOCK TABLE test AS t1 READ, test AS t2 READ;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql>  SELECT * FROM test AS t1 WHERE id IN (SELECT id FROM test AS t2);
    

    (6.3)申请锁时使用别名,使用锁定表时必须加上别名。

    三、性能相关问题

    1、null在B+tree里是如何存储的?为什么推荐为每个字段设置默认值而不使用null??

    1)、不同数据处理null方式不同,但查询时任何数据库对于允许null值的字段处理比较复杂。 
    2)、对于innodb类型的表来说,innodb记录(索引)头包含一个null位图,标志哪些字段是null,innodb中字段为null值可以存在索引中,索引中null值被当成一个值处理;oracle里则不会,oracle里索引中不会收录为null的值; 
    3)、null无法做比较(< > !=等)可能出现“数据丢失”,只能is null来判断! 
    例子:select …from …where a is null;这个sql在mysql里可以利用索引,oracle则不行; 
    综合以上,推荐字段里设置默认值,而不使用null;

    2、外键约束,在相比与程序做的判断约束下,二者哪种性能更高?实际生产环境是否建议使用外键约束??

    现在的应用都讲究快速迭代,表结构变化很频繁,如果用了主外键会非常困难和麻烦。 
    在进行线上加载或清理工作,如果用了主外键,数据维护会很麻烦;主外键有时候也并不能覆盖业务逻辑约束。 
    综合考虑是:性能要求高,并发大,数据多的场景下,尽可能不要使用外键约束。类似的:主外键、触发器、函数、存储过程等都不推荐使用,尽量保持数据库“简单”。

    3、子查询 VS join

    1)子查询分为:非关联字查询(子查询里没有外表依赖)、关联子查询(子查询里有外表依赖) 
     
    2)子查询写起来简单,可读性较好(子查询较少时),join要实现子查询功能比较难写 
    例子:子查询改写成join 
    (非关联子查询)select * from t1 where t1.a in (select t2.a from t2 where t2.b=1); 
    等价于 
    select t1.* from t1,(select distinct a from t2 where b=1) t3 
    where t3.a=t1.a;

    (关联子查询)select * from t1 where t1.a in (select t2.a from t2 where t2.b=t1.b); 
    等价于 
    select t1.* from t1.(select distinct a from t2 where t2) t3 where t3.a=t1.a and t3.b=t1.b; 
    子查询改写成join,其实join里还是有一个子查询的(作为临时表),而且改成join后SQL复杂很多。 
     
    【总结】 
    mysql使用next loop方式进行join; 
    子查询中t1,t2无法正确使用索引; 
    外表驱动子(查询)表,这里t1驱动t2表;要尽量使外表数据小,如果外表是大表则效率会非常差; 
    对于不带子查询的join,mysql可以使用合理的索引和驱动表; 
    mysql5.6之后,对子查询做了优化:子表只查一次,并将结果集存储在临时hash表,需要设置优化器参数optimizer_switch来优化;

    【建议】 
    mysql的子查询效率通常比较低,能用(不带字查询的)join尽量使用join;否则建议将查询频率非常高的复杂查询拆分成多条简单查询,通过提升系统并发来达到优化目的。 
    也说明:不带子查询的join性能才比子查询好,带了子查询的join效率依旧差。

    4、视图的性能

    视图仅推荐在做权限控制,非线上业务查询的时候使用。

    5、mysql极限

    1)mysql单表字段一般多少比较合适?超过多少会出现严重性能问题? 
    innodb最大支持1000个字段,出现性能问题通常不是简单因为字段过多导致,与之相对通常是字段组合不合理导致。 
    建议根据业务查询习惯指定最合理简练的表结构。

    2)mysql一个数据库多少张表比较合适? 
    mysql会为每张表分配数据文件(独立表空间)与表定义文件; 
    表过多时需要更多资源,需要调节部分参数(innodb_open_file open_file_limit table_open_cache等参数) 
    mysql查询时都会开表以及关表。太多表可能导致操作变慢; 
    建议按照业务模块拆分到不同实例;

    转载:http://www.cnblogs.com/zhoubaojian/articles/7866227.html

    展开全文
  • MySQL常见问题及解决方案

    千次阅读 2017-08-22 00:46:29
    MySQL常见问题及解决方案

    1.1 Cmake编译安装时

    1.1.1

    错误信息

    170818 01:53:26 mysqld_safe Starting mysqld daemon with databases from /data/3306/data
    170818 01:53:26 mysqld_safe mysqld from pid file /data/3306/mysqld.pid ended

    解决办法:

    删除data目录下已经存在的文件(必须在此目录为空时初始化数据库才可以),然后初始化数据库
    

    1.1.2

    错误信息

    /usr/local/mysql/bin/mysqld: File ‘./mysql-bin.index' not found (Errcode: 13)

    解决办法:

    errcode13,一般就是权限问题,mysql用户是否对数据库目录内的所有文件具有写的权限,查看一下权限,修改MySQL目录的用户和用户组权限
    
     > chown -R mysql:mysql   /usr/local/mysql

    1.2多实例(mysqld_multi方式)

    1.2.1

    错误信息

    Mysql5.5 启动 报unknown option '--skip-locking' 
    

    解决方法:

    1.MySQL 5.5.已经移除了--skip-locking
    2.修改my.ini中将skip-locking替换为skip-external-locking
    

    1.2.2

    错误信息

    Unknown/unsupported storage engine: InnoDB

    解决方法:

    1.检查一下配置文件中关于innodb的参数,如果有skip-innodb注释掉
    2.如果重新设置了innodb_log_file_size之类的,需要删除几个ib_logfile,然后重启数据库
    

    1.2.3

    错误信息

    mysqld_multi停止不掉MySQL
    

    解决办法:

    修改mysqld_multi的如下行 (MySQL5.5之后好像不支持-s  或报错)
    
        my $com= join ' ', 'my_print_defaults', @defaults_options, $group;
        修改为
        my $com= join ' ', 'my_print_defaults -s', @defaults_options, $group;

    1.2.4

    错误信息

    实战中我用尽了洪荒之力还是不行,最后发现是因为my.cnf的账号填的不对
    

    解决办法:

    [mysqld_multi]
    mysqld = /usr/local/mysql/bin/mysqld_safe
    mysqladmin = /usr/local/mysql/bin/mysqladmin
    user=root   # 注意:这里指的是mysql账号  我填成了系统账号.....
    password=password
    展开全文
  • JDBC连接Mysql常见问题汇总

    千次阅读 2018-03-01 18:41:23
    JDBC连接Mysql常见问题汇总JDBC连接全过程请参考《Java MySQL 连接》http://www.runoob.com/java/java-mysql-connect.html错误1:JDBC链接警告WARN: Establishing SSL connection w...

                                                               JDBC连接Mysql常见问题汇总

    JDBC连接全过程请参考《Java MySQL 连接》

    http://www.runoob.com/java/java-mysql-connect.html

    错误1:

    JDBC链接警告WARN: Establishing SSL connection without server's identity verification is not recommended.

    参考:http://blog.csdn.net/qq_15581405/article/details/52403576?locationNum=13

    错误2:

    java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/

    参考:

    http://blog.csdn.net/xiaofanku/article/details/51542495

    http://www.blogjava.net/w2gavin/articles/217864.html

    http://blog.csdn.net/SpeedGodDeer/article/details/40150027

    错误3:

    MySQL java连接被拒绝:java.sql.SQLException: Access denied for user 'root'@'****' (using password: YES)

    参考:http://www.cnblogs.com/nextsummer/p/6736998.html


    grant all privileges on *.* to root@'%' identified by '******' //***表示数据库连接密码,%也要对应修改用户名
    
    

    连接数据库

    MySQLDemo.java 文件代码

    package com.runoob.test;


    import java.sql.*;


    public class MySQLDemo {

    //JDBC驱动名及数据库URL
    static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
    static final String DB_URL="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8&useSSL=false";

    //数据库的用户名与密码,需要根据自己设置
    static final String USER="root";
    static final String PASS="123456";

    public static void main(String[] args){
    Connection conn=null;
    Statement stmt=null;
    try{
    //注册JDBC驱动‘
    Class.forName("com.mysql.jdbc.Driver");

    //打开链接
    System.out.println("连接数据库...");
    conn=DriverManager.getConnection(DB_URL,USER,PASS);

    //执行查询
    System.out.println("实例化Statement对...");
    stmt=conn.createStatement();
    String sql;
    sql="SELECT id,name,url FROM websites";
    ResultSet rs =stmt.executeQuery(sql);

    //展开结果集数据库
    while(rs.next()){
    //通过字段检索
    int id =rs.getInt("id");
    String name=rs.getString("name");
    String url=rs.getString("url");

    //输出数据
    System.out.print("ID:"+id);
    System.out.print(",站点名称:"+name);
    System.out.print(",站点URL:"+url);
    System.out.print("\n");
    }
    //完成后关闭
    rs.close();
    stmt.close();
    conn.close();
    }catch(SQLException se){
    //处理JDBC错误
    se.printStackTrace();
    }catch(Exception e){
    //处理Class.forName错误
    e.printStackTrace();
    }finally{
    //关闭资源
    try{
    if(stmt!=null) stmt.close();
    }catch(SQLException se2){
    }//什么都不做
    try{
    if(conn!=null)conn.close();
    }catch(SQLException se){
    se.printStackTrace();
    }
    }
    System.out.println("Goodbys!");
    }

    }


    展开全文
  • hivesql和mysql常见问题

    千次阅读 2018-06-16 15:36:03
    1) EXISTS ()括号里只要有返回值就会执行 EXISTS 之前的语句2) select 1 的问题3)

    1) EXISTS ()括号里只要有返回值就会执行 EXISTS 之前的语句

    2) select 1 的问题


    3) in查询相当于多个or条件的叠加,这个比较好理解,比如下面的查询

    select * from user where userId in (1, 2, 3);

    等效于

    select * from user where userId = 1 or userId = 2 or userId = 3;

    not in与in相反,如下

    select * from user where userId not in (1, 2, 3);

    等效于

    select * from user where userId != 1 and userId != 2 and userId != 3;

    总的来说,in查询就是先将子查询条件的记录全都查出来,假设结果集为B,共有m条记录,然后在将子查询条件的结果集分解成m个,再进行m次查询

     

    值得一提的是,in查询的子条件返回结果必须只有一个字段,例如

    select * from user where userId in (select id from B);

    而不能是

    select * from user where userId in (select id, age from B);

    而exists就没有这个限制

    4) group by 加上limit 不能实现topN的需求

    再用limit的时候所有的group by 都是一个组,只会取出全部的前几条limit数据

    5)要想实现order by 必须只能有一个reduceTask

    只需要有reduce阶段,并且reduceTask为1

    展开全文
  • Windows 安装 MySQL 常见问题

    千次阅读 2018-01-22 09:21:36
    环境:WINDOW 10 专业版 MYSQL: mysql-5.7.21-winx64(免安装版,解压配置后可直接使用)
  • MySQL常见问题和应用技巧

    千次阅读 2016-05-10 21:03:34
    忘记MySQL的root密码解决办;处理MyISAM存储引擎的表损坏;#MyISAM表过大,无法访问问题;#数据目录磁盘空间不足的问题
  • Centos7安装MySQL常见问题

    千次阅读 2015-10-23 13:44:17
    CentOS7下安装MySQL数据库常见问题1. ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 出现这种问题一般是MySQL-server没有安装成功,可以通过yum ...
  • 方法一:登录数据库,赋权。 1.登录 mysql -uroot -p123456 2.查看权限 ...SELECT host,user FROM mysql.user;...3.如果root没有%,说明没有权限,需要执行...4.如果root已经有%,则查看 MySQL Server 是不是监听了 33..
  • redhat安装mysql常见问题

    千次阅读 2013-11-15 12:41:35
    下载mysql安装包,我使用的不是rpm包,是tar包,官网都有下载 接下来是安装步骤,我直接贴上官方给的安装步骤: shell> groupadd mysql shell> useradd -r -g mysql mysql shell> cd /usr/local shell> tar zxvf /...
  • ubutu 安装 mysql sudo apt update sudo apt install mysql-server sudo mysql_secure_installation 请根据需要进行设置,对后续使用有影响(步骤记录在下文) systemctl status mysql.service 查看mysql安装后的服务...
  • ****************************************************************...1、Starting MySQL...The server quit without updating PID file 修改了/etc/my.cnf后,启动mysql出现 # /etc/init.d/mysql start Starting
  • 【面试】【MySQL常见问题总结】【03】

    万次阅读 多人点赞 2016-05-29 22:20:59
    很多时候性能问题很简单的就是因为我们忘了添加索引而造成的, 或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表 扫描,如果一张表的数据量很大而符合条件...
  • 常见面试问题总结目录>>>】 001 数据库应用系统设计  1.规划  2.需求分析  3.概念模型设计  4.逻辑设计  5.物理设计  6.程序编制及调试  7.运行及维护。 002 创建数据库  ...
  • 常见面试问题总结目录>>>】 091 数据库死锁概念  多数情况下,可以认为如果一个资源被锁定,它总会在以后某个时间被释放。而死锁发生在当多个进程访问同一数据库时,其中每个进程拥有的锁都是其他进程...
  • 常见面试问题总结目录>>>】 031 在已经存在的表上创建唯一索引  1、CREATE UNIQUE INDEX index_name ON table_name (  field_name [(index_length)] [ASC|DESC])  2、ALTER TABLE table_name ...
  • [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\JAVAInstall\mysql-5.7.19-winx64 # 允许最大连接数...
  • 有时候莫名其妙的就出现那种错误了T_T,我还要练习SQL呢,而且我已经因为它重新装过一次mysql了,讨厌的10061. 在电脑--管理--服务里查看居然没有mysql 服务。 于是以管理员身份进入命令行窗口,重新install mysql, ...
  • 今天在装mysql.5.1.7的时候,点击bin/mysqld.exe(mysqld-nt.exe)启动不起来的情况,baidu了一下找了原因,原来是先前安装的mysql服务没有卸载的原因,mysqld-nt -remove一下,然后在重新启动mysqld.exe,服务启动...
  • mysql常见问题

    万次阅读 2016-08-13 21:10:50
    mysql常见问题,10061,安装mysql服务、系统找不到指定文件、进程意外终止、重置密码
  • mysql进阶(十六)常见问题汇总

    万次阅读 2015-09-12 10:06:18
    mysql进阶(十六)常见问题汇总 MySQL视图学习: http://www.itokit.com/2011/0908/67848.html 执行删除操作时,出现如下错误提示: 出现以上问题的原因是:在数据库中涉及到主外键的操作,删除时应对其进行级联...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 271,945
精华内容 108,778
关键字:

mysql常见问题

mysql 订阅