参考了一些文章,然后加上自己的一些总结,感觉很实用,特记录下来。

1、++修改root口令,mysql才安装后,默认没有密码,需要设置密码
$ mysqladmin -u root  password  输入要设置的密码

2、++mysql数据库的备份和恢复
$ mysqldump -u user -p -B DB_name [--tables table1 --tables table2] > exportfile.sql,执行后会让输入密码,输入后就可以执行备份。

例如:#mysqldump -u root -p -B test --tables test >1.sql,就是将test这个数据库中的test表备份为1.sql

$ mysql -uroot -p xxx < aaa.sql ,其中xxx为要导入去的数据库名称,aaa.sql为要导入的表。然后会提示输入密码,就可以了。

例如:#mysql -u root -p test < 1.sql   就是将1.sql这个表导入到test这个数据库中去。

若需直接导出导入整个数据库,可用如下:

#mysqldump -u 用户名 -p -B 数据库名 > 导出的文件
#mysqldump -u root -p -B testlink > testlink.sql

导入数据库 (经过测试成功!能从sql脚本将表格及数据直接导入到数据库中!)

#mysql -u root -p输入密码后进入mysql控制台

mysql> use  数据库名;   //进入要导入的数据库

mysql> source /opt/testlink.sql     //假设刚刚导出的数据库testlink.sql文件放在/opt下。

注意:导入导出的数据库名称要一致,也就是假设从一台机器上导出的数据库名称是testlink,那么导入到另外一台机器上时也要是相同的数据库testlink名称。

3、++查看服务器状态
$ mysqladmin version -p,提示输入密码后就可查看


4、++连接远端mysql服务器
$ mysql -u 用户名 -p #连接本机
$ mysql  -u 用户名 -h 远程主机IP -p#连接远程MYSQL服务器

例如:
#mysql  -u user -h *.*.*.* -p,然后输入密码就可以了,但是在连接前,要到190上作授权操作,假如我想从192.168.0.129上去连接190,则在190上做如下授权操作:

mysql>grant all privileges on *.* to 'test1'@'192.168.0.129' identified by '123456';

mysql  -utest1 -p123456 -h 192.168.0.190   输入授权设置的密码就可以连接了。红色之间没有空格

5、++创建/删除 数据库或表
mysql> create database 数据库名;
mysql> create TABLE items (
id INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
symbol CHAR(4) NOT NULL,
username CHAR(8),
INDEX sym (symbol),INDEX …..
UNIQUE(username)
) type=innodb;
mysql> drop database [if exists] 数据库名
mysql> create table 表名;
mysql> drop table 表名;
6、++查看数据库和查看数据库下的表
mysql> show databases;
mysql> show tables;
mysql> show table status;
mysql> desc 表名; #查看具体表结构信息
mysql> SHOW CREATE DATABASE db_name #显示创建db_name库的语句
mysql> SHOW CREATE TABLE tbl_name #显示创建tbl_name表的语句
7、++创建用户
mysql> grant select,insert,update,delete,alter on mydb.* to test2@localhost identified by “abc”;
mysql> grant all privileges on *.* to test1@”%” identified by “abc”;
mysql> flush privileges;
8、++用户管理
mysql> update user set password=password (’11111′) where user=’test1′; #修改test1密码为111111
mysql> DELETE FROM user WHERE User=”testuser” and Host=”localhost”; #删除用户帐号
mysql> SHOW GRANTS FOR user1; #显示创建user1用户的grant语句
9、++忘记mysql密码
先停止所有mysql服务进程或service mysqld stop
$ mysqld_safe --skip-grant-tables --user=root

$mysql -u root  此时不需要输入密码就可以登录进去,
mysql> use mysql;

mysql> show tables; 可以看到所有的用户都在user这个表中
mysql> update user set password=password(‘111111′) where user=‘root’;
mysql> flush privileges;
然后重启mysql并以新密码登入即可

10、++当前使用的数据库
mysql> select database();
===数据库日常操作维护====
11、++更改表名
命令:rename table 原表名 to 新表名;

12、更改数据库名称

先停掉mysql,然后到/var/lib/mysql下,用mv命令可以更改数据库名称,然后重启mysql。 
12、++表的数据更新
mysql> update table01 set field04=19991022[, field05=062218] where field01=1;

13、++删除数据
mysql> delete from table01 where field01=3;
#如果想要清空表的所有纪录,建议用truncate table tablename而不是delete from tablename.

//这样不但将数据全部删除,而且重新定位自增的字段
//用delete,delete from tablename   删除所有数据,主键继续增长
14、++坏库扫描修复
cd /var/lib/mysql/xxx && myisamchk playlist_block

15、 设置utf8字符编码

在/etc/my.cnf中【mysqld】部分加入default-character-set=utf8,重启数据库,然后在建立数据库时执行下面这句

create database mediawiki character set utf8 collate utf8_bin; 这样才能正常显示有中文的表
修改mysql字符编码成为UTF8
1.先简单介绍一下一些基本概念
MySQL字符集支持(Character Set Support)有两个方面:
字符集(Character set)和排序方式(Collation)。
对于字符集的支持细化到四个层次:
服务器(server),数据库(database),数据表(table)和连接(connection)
/etc/mysql/ 主要配置文件所在位置 my.cnf
/var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件
2.查看默认字符集(默认情况下,mysql的字符集是latin1(ISO_8859_1)
启动mysql后,以root登录mysql
输入命令:show variables like 'character%';
屏幕显示:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
(还有status这个命令也可以查看)
3.修改默认字符编码
linux下修改/etc/mysql/my.cnf文件
在终端输入:cd /etc/mysql
如果权限不足,先增加写权限:sudo chmod +w my.cnf
用gedit编辑:sudo gedit my.cnf

找到[client],在下面添加
default-character-set=utf8 -- 默认字符集为utf8
在找到[mysqld] ,添加
default-character-set=utf8 --默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
保存后退出 gedit
重新启动mysql: /etc/init.d/mysql restart
再次查询一下show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
成功!!!!