HomeBrew 安装MySql

安装过程中出现的error

Error: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

wang: 执行的顺序不能错

否则会出现上述错误

1
2
3
4
5
6
7
8
9
1. 打开终端执行命令 $ brew install mysql

2. 执行命令 $ mysql.server start 此时提示
Starting MySQL
SUCCESS!

3. 执行命令 $ mysql_secure_installation 按要求进行设置 y y y y

4. 连接 mysql 命令: mysql -uroot -p (连接到本地数据库)

MySql 常用命令 (命令末位加上 ; )

乱码修改MYSQL的配置文件:my.ini里面修改default-character-set=gbk

1.连接数据库

1.连接到本地数据库:    mysql -uroot -p
2.连接到远程主机: mysql -h ip -u root -p 123
2.退出命令
\q 或者执行 exit ,quit 之后回车
3.修改用户密码
mysqladmin -u root -p 旧密码 password 新密码
4.新增用户
grant on 命令用于增加新用户并控制权限
grant on 命令格式: 
    grant select on 数据库.* to 用户名@登录主机 identified by "密码";

1)增加一个用户test1,密码abc,让他可以在任何主机上登录,并对所有数据库查询、插入、修改、删除的权限。
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

2)增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
4.创建数据库 并分配用户
create database <数据库名>;
分配用户:grant select,insert,update,delete,create,drop,alter on test.* to test@locallhost identified by '1234abcd';
5.显示数据库
show databases;
6.删除数据库
drop database <数据库名>;
7.使用数据库
use <数据库名>;
显示当前数据库中的表 show tables;
8.当前连接的数据库
select database();

select version();             // 显示版本
select now();                  // 显示时间
select dayofmonth(current_date); 
select month(current_date);
select year(current_date);
9.创建数据表
create table <表名> (<字段名1> <类型1> [,..<字段名n> <类型n>]);

ep:
 mysql> create table MyClass(
      > id int(4) not null primary key auto_increment,
      > name char(20) not null,
      > sex int(4) not null default '0',
      > degree double(16,2));
10.获取表结构
desc 表名;
或者: show columns from 表名;
11.删除数据表
drop table <表名>;
12.数据的增删改查
1. 增
insert into 表名 [(<字段名1>[,..<字段名n>])] values(值1)[,(值n)];

2. 删
delete from where 表达式

3. 改
update 表名 set 字段=新值 ... where 条件

4. 查
查所有行: select <字段1,字段2> from <表名> where <表达式>;
eg:
select *from <表名>

查询前几行:
select *from <表名> order by id limit 0,2;
13.数据库增加字段和修改字段属性
1)增减字段
alter table 表名 add 列名 类型 其他    

例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:
   mysql> alter table MyClass add passtest int(4) default '0';

2)修改字段属性
alter table 表名 change 字段名称
alter table 表名称 change 原列名 新列名 字段类型 [是否允许非空];
alter table 表名称 modify 列名 字段类型 [是否允许非空]; //实际应用可行!!

3)指定列为主键
alter table 表名 add primary key(列名)

4)删除外键
14.修改表名
rename table 原表名 to 新表名
15.数据库备份
mysqldump命令用来备份数据库;

1) 导出整个数据库(导出文件默认是存在mysql\bin目录下)
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql

2) 导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql

3) 导出一个数据库结构
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table    
16. 查看表带字段的详细信息
show full columns from 表名称 [from 数据库名]; //列出字段及详情;
show full fields from 表名称 [from 数据库名]; //列出字段完整属性
show index from 表名称 [from 数据库名]; //列出表索引
show variables; // 列出MySQL系统环境变量

其他error

1366 - Incorrect integer value: ‘’ for column ‘ID’ at row 1

在书写id 为递增的sql 语句中 我们通常使用 ‘’ 来填写id 字段的值

但是 在mysql 5中 根据php.ini的设置的不同 有可能出现 1366 - Incorrect integer value: ‘’ for column ‘ID’ at row 1 的错误 ,这时 ,用NULL 代替 ‘’就行了