Mysql相关说明文档
1. 修改mysql的root密码:
Mysqladmin -u root -p password回车
旧密码:
新密码:
mysql>use mysql;
mysql>update user set password=password("新密码") where user='root';
mysql>flush privileges; //更新mysql数据库
mysql>quit;
1.1修改root登录权限
当你修改好root密码后,很有可能出现这种情况
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这是因为root登录权限不足,具体修改方法如下
需要先停止mysql服务,这里分两种情况,一种可以用service mysqld stop,
另外一种是/etc/init.d/mysqld stop
当提示mysql已停止后进行下一步操作 Shutting down MySQL. SUCCESS!
在终端命令行输入:
whereis my //my: /etc/my.cnf
vim /etc/my.cnf
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程。
service mysqld restart
登录mysql系统
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql> flush privileges;
mysql> exit;
2. 添加用户等操作:
1)添加用户:
mysql>create user ‘wli’@’localhost’ identified by ‘passwd’;
说明:wli---新建用户,localhost指定用户在哪个主机的IP登陆,任意远程 主机则用通配符%,passwd可以为空,则不需密码。
2)修改用户密码:
mysql>set password for wli=password(‘123456’);
3)删除用户:
mysql>drop user wli;
3. 用户权限:
mysql>show grants for wli; // 查看用户权限
1)mysql>grant all on dbname.* to wli;
说明:all:对数据库dbname所有权限,包括selece,updata,insert,delect.
2)mysql>grant select,insert on dbname.* to wli;
说明:.*指该数据库的所有表名
3)mysql>grant all on *.* to wli;
说明:该用户可以对所有的数据库操作
4)mysql>revoke select on mysql.* from wli;
取消用户权限
1. 更新数据库,使生效:
mysql>flush privileges;
简单命令
mysql>show databases;
mysql>create database dbname; //创建库
mysql>use dbname; //进库
mysql>show tables;
mysql>create table form(oid char(30),code int,orderprice int) default charset=utf8;
//创表form
mysql>select * from form; //查表
mysql>drop table form; //删表
改表(例子):
create table tmp(id int ,name char(30));
Insert into tmp values(1,’liwang’);
alter table tmp add age char(30) after name; //增加一列
alter table tmp add primary key(id); //设置主键
alter table tmp change age weight int; //将age改成weight
alter table tmp rename as temp; //改表名
查看mysql当前存储引擎
mysql> show engines; //查看mysql提供什么引擎
mysql> show variables like '%storage_engine%'; // 当前默认存储引擎
mysql> show create table 表名; //查看当前表的所有信息。
外键
创建:department表:
- create table department(
- dept_name varchar(20),
- budget int,
- descript varchar(20),
- primary key(dept_name)
- );
- create table course(
- course_id varchar(20),
- deptnames varchar(20),
- credits int,
- foreign key(deptnames) references department(dept_name));
course表的外键deptnames指向department表的dept_name。
若要删除department,course这两个表,则必须先删除course表,再删除department表。