ALTER TABLE `test` DEFAULT CHARACTER SET utf8;该命令用于将表test的编码方式改成utf8;
ALTER TABLE `test` CHANGE `name` `name` VARCHAR(36) CHARACTER SET utf8 NOT NULL; 该命令用于将表test中name字段的编码方式改成utf8
alter table `table_name` engine=innodb; alter table `table_name` engine=myisam;
flush privileges
建立test用户 并只能操做follow_db数据库: CREATE USER 'test'@'%' IDENTIFIED BY 'pwd123'; GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `follow\_db`.* TO 'test'@'%'; GRANT GRANT OPTION ON `follow\_db`.* TO 'test'@'%';
1. mysqladmin -u root -p password mypasswd
输入这个命令后,须要输入root的原密码,而后root的密码将改成mypasswd。 mysql
2.MySQL 忘记口令的解决办法 sql
若是 MySQL 正在运行,首先杀之:数据库
killall -TERM mysqld。
启动 MySQL :服务器
/usr/bin/mysqld_safe --skip-grant-tables &
就能够不须要密码就进入 MySQL 了。 函数
而后就是 编码
>use mysql >update user set password=password("new_pass") where user="root"; >flush privileges;
从新杀 MySQL ,用正常方法启动 MySQL 。 加密
3.先中止mysql服务。rest
而后打开mysql配置文件/etc/my.cnf. 在【mysqld】下面添加一行代码:skip-grant-tables。 这行代码意思就是跳过跳过受权表,便是能够跳过密码验证直接进入数据库。 service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。 mysql -uroot -p //此时直接回车,既能够进入数据库。 出现mysql>就说明你已经进入到mysql数据库里了。 进数据库后, use mysql //选择mysql这个库,由于mysql的root密码存放在这个数据库里。 show tables //查看下mysql库里有哪些表,咱们须要操做的用户名密码都在user表里。 desc user //查看下user表有哪些字段 更改root密码。 update user set password=password('123456') where user="root"; //用户选root,能够随便更改为任意密码,我这里设置的123456,password()是mysql密码加密的一个函数。 flush privileges; //刷新下密码,使更改的生效。 exit //退出数据库 从新登陆 mysql -uroot -p //回车输入刚刚更改的密码,就能进去了。 而后再次进入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。
mysqldump -uroot -p test >/test.sql 回车输入密码便可
Mysql -uroot -p test < /test.sql 回车输入密码便可
进入 MySQL 控制台(如:MySQL 5.5 Command Line Client),使用 source 命令执行 Mysql>source 【sql脚本文件的路径全名】 或 Mysql>\. 【sql脚本文件的路径全名】,示例: source C:\test.sql 或者 \. C:\test.sql
一、建立索引(PRIMARY KEY,INDEX,UNIQUE)code
mysql>ALTER TABLE 表名 ADD INDEX index_name (column list); mysql>ALTER TABLE 表名 ADD UNIQUE index_name (column list); mysql>ALTER TABLE 表名 ADD PRIMARY KEY index_name (column list);
二、删除索引(PRIMARY KEY,INDEX,UNIQUE)索引
mysql>ALTER TABLE 表名 DROP INDEX index_name (column list); mysql>ALTER TABLE 表名 DROP UNIQUE index_name (column list); mysql>ALTER TABLE 表名 DROP PRIMARY KEY index_name (column list);
三、重建索引
mysql> REPAIR TABLE 表名 QUICK;
四、查看某个数据表的索引
mysql> SHOW INDEX FROM 表名;
查看表结构
Desc 表名
直接受权(推荐) 从任何主机上使用root用户,密码:youpassword(你的root密码)链接到mysql服务器: # mysql -u root -proot mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; 操做完后切记执行如下命令刷新权限 FLUSH PRIVILEGES
drop truncate delete 程度从强到弱 一、drop table tb drop将表格直接删除,没有办法找回 二、truncate table tablename truncate 删除表中的全部数据,不能与where一块儿使用 三、delete from tb (where) delete 删除表中的数据(可制定某一行) truncate和delete的区别 ① 事务:truncate是不能够rollback的,可是delete是能够rollback的; 缘由:truncate删除整表数据(ddl语句,隐式提交),delete是一行一行的删除,能够rollback ② 效果:truncate删除后将重置索引(自增加id从零开始) ,delete不会删除索引 ③ truncate 不能触发任何Delete触发器。 ④ delete 删除能够返回行数