`
tianwaishan
  • 浏览: 3723 次
  • 性别: Icon_minigender_1
  • 来自: 河南
最近访客 更多访客>>
社区版块
存档分类
最新评论

mysql常用命令

    博客分类:
  • web
阅读更多
常用备份


/etc/init.d/mysql start
/etc/init.d/mysql stop
/etc/init.d/mysqld start


use mysql;
select host,user,password from user;

添加 MySQL 用户(user name:user1,password:sql):
grant all on *.* to user1@'%' identified by 'sql' with grant option;

删除 MySQL 用户:
delete from user where user='user1';

select host,user,password from user where user = '';

delete from user where  user = ''

flush privileges;

       #mysqladmin -u root password 123 (123为密码,也可以写成:'123'或"123") ;


mysql alter 语句用法,添加、修改、删除字段等

//主键549830479
   alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列549830479
   alter table t2 add d timestamp;
alter table infos add ex tinyint not null default '0';
//删除列549830479
   alter table t2 drop column c;
//重命名列549830479
   alter table t1 change a b integer;

//改变列的类型549830479
   alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';
//重命名表549830479
   alter table t1 rename t2;
加索引549830479
   mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);

   mysql> ALTER TABLE table_name ADD field_name field_type;
修改原字段名称及类型:549830479
   mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
删除字段:549830479
   mysql> ALTER TABLE table_name DROP field_name;


Liunx下修改MySQL字符集:
1.查找MySQL的cnf文件的位置
find / -iname '*.cnf' -print
2. 拷贝 small.cnf、my-medium.cnf、my-huge.cnf、my-innodb-heavy-4G.cnf其中的一个到/etc下,命名为my.cnf
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

3. 修改my.cnf
vi /etc/my.cnf
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
default-character-set=utf8


通过配置文件修改:
修改/var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-collation=latin1_swedish_ci

default-character-set=utf8
default-collation=utf8_general_ci
重起MySQL:
[root@bogon ~]# /etc/rc.d/init.d/mysql restart

通过MySQL命令行修改:
mysql> set character_set_client=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_results=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_system=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_connection=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_database=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_server=utf8;
Query OK, 0 rows affected (0.01 sec)
查看:
mysql> show variables like 'character_set_%';

【知识性文章转载】
MYSQL 字符集问题


MySQL的字符集支持(Character Set Support)有两个方面:
      字符集(Character set)和排序方式(Collation)。
对于字符集的支持细化到四个层次:
      服务器(server),数据库(database),数据表(table)和连接(connection)。
1.MySQL默认字符集
MySQL对于字符集的指定可以细化到一个数据库,一张表,一列,应该用什么字符集。
但是,传统的程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置,那么,默认的配置从何而来呢?     (1)编译MySQL 时,指定了一个默认的字符集,这个字符集是 latin1;
     (2)安装MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的;
     (3)启动mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的配置,此时 character_set_server 被设定为这个默认的字符集;
     (4)当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;
     (5)当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;
     (6)在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;


以上设置不生效时
character_set_server设置为UTF-8

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 10M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
default-character-set=utf8
init_connect='SET NAMES utf8'
skip-name-resolve
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics