密码重置 vi /etc/my.conf mysqld增加一行skip-grant 意思忽略授权 之后重启mysql /etc/init.d/mysql restart 进入mysql 打开mysql库 use mysql update user set password =password(‘123456‘) where user =‘root‘; 设置root的新密码为123456 修改后将skip-grant 删掉 重启mysql 4.常用连接mysql的命令 mysql -uroot -p12345 mysql -uroot -p12345 -h127.0.0.1 -p3306 远程连接 mysql -uroot -p12345 -S/tmp/mysql.sock sock连接 mysql -uroot -p12345 -e "show databases" 直接使用命令一般用于shell脚本 5.查询库 show databases; 6.切换库 use mysql; 7.查看库里的表 show tables; 8.查看表里的字段 desc tb_name; 9.查看建表时的语句 show create table tb_name\G; G是竖排显示,不加会乱 10.查看当前用户 select user (); 11.查看当前使用的数据库 select database();
创建库 create database db1 ; 13.创建表 use db1 ; create table t1(‘id‘ int(4),‘name/ char(40)) ; 14.查看当前数据库版本 select version() ; 15.查看数据库状态 show status ;
查看各参数 show variables ; show variables like ‘max_connect%‘ ; 17.查看队列 show processlist ; show full processlist ; 18.mysql创建用户以及授权 grant 授权,允许 identified 认定为 %通配符 grant all on . to ‘user1‘ @‘127.0.0.1’ identified by ‘passwd‘ ; 授权user1用户来源于127.0.0.1 grant SELECT,UPDATE,INSERT on db1. to ‘user2‘ @‘192.168.133.1‘ identified by ‘passwd‘ ; grant all on db1 , to ‘user3‘@‘%‘ identified by ‘passwd‘ ; show grants ; show grants for user2@192.168.133.1 ; 用来查看指定用户的授权情况 grant完之后,还要执行 flush privileges; 例:怎么查询mysql当前有多少个用户呢? use mysql; select user,host from user; 19 。常用sql 语句 myusam 引擎查找很快,会统计行数 InnoDB 查找很慢,不会自动统计行数占资源 select 选择 insert 插入 update 修改 drop 删除 truncate table 清空表(不删除) desc 查看 set是修改系统参数或者设置变量用的 seletc count () from mysql.user ; count ()查找整个表的行顺 库和表中间有个点 select from mysql.db ; 查看所有内容 查看myql库下db表所有内容 可加\G select db from mysql.db ; 查看单个字段 select db ,user from mysql.db ; 查看多个字段 select * from mysql.db where host like ‘192.168.%‘ ; 模糊查询 查看mysql下db的192.168开头字段 insert info db1.t1 vlaues (1,‘abc‘) ; update db1.ti set name =‘aaa‘ where id =1 ; truncate table db1.t1 ; 清空db1库下的ti表 drop table db1.t1 ; 删除db1库下的ti表 drop database db1 ; 删除db1库
Mysql 数据库的备份与恢复 备份时先库后表 此适用于小型数据库 备份库 mysqldump -uroot -p12345 mysql >/tmp/mysqlbak.sql 备份mysql库到/tmp/mysqbakl.sql 恢复库 mysql -uroot -p12345 mysql </tmp/mysqlbak.sql 备份表 mysqldump -uroot -p12345 mysql user >/tmp/user.sql 恢复表 mysql -uroot -p12345 mysql </tmp/user.sql 只需库名 备份所有库 mysqldump -uroot -p -A >/tmp/123.sql -A相当于所有 只备份表结构 mysqldump -uroot -p12345 -d mysql >/tmp/mysql.sql 一些最重要的 SQL 命令 SELECT - 从数据库中提取数据 UPDATE - 更新数据库中的数据 DELETE - 从数据库中删除数据 INSERT INTO - 向数据库中插入新数据 CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更(改变)数据库表 DROP TABLE - 删除表 CREATE INDEX - 创建索引(搜索键) DROP INDEX - 删除索引