参考了一些文章,然后加上自己的一些总结,感觉很实用,特记录下来。
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,重启数据库,然后在建立数据库时执行下面这句
对于字符集的支持细化到四个层次:
服务器(server),数据库(database),数据表(table)和连接(connection)。
/var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹
default-character-set=utf8 -- 默认字符集为utf8
在找到[mysqld] ,添加
default-character-set=utf8 --默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
转载于:https://blog.51cto.com/yangchangwu/893794