`
222xiaohuan
  • 浏览: 50846 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

Mac OS下安装mysql及其简单使用

阅读更多

一、MySQL安装


到MySQL官网上http://dev.mysql.com/downloads/mysql/,下载mysql可安装dmg版本
比如:Mac OS X ver. 10.9 (x86, 64-bit), DMG Archive

下载完的文件为:mysql-5.6.24-osx10.9-x86_64.dmg
点击安装包一步步傻瓜式安装就行。

系统偏好设置的其他里,点击“mysql”的图标
点击Start MySQL Server按钮,启动mysql

二、打开终端,定义MySQL别名

输入 alias 命令
alias mysql=/usr/local/mysql/bin/mysql

回车,在输入
alias mysqladmin=/usr/local/mysql/bin/mysqladmin

三、设置mysql root账号的密码

mysqladmin -u root password ***(#初始密码)

// 如果设置完成后,需要修改,执行命令
mysqladmin -u root -p password new***(#最新密码)
接着会提示输入密码,此时输入旧密码,回车

四、连接数据库

mysql -u root -p
然后提示输入密码,输入三中设置的密码

如果是登录远程主机上的mysql数据库
mysql -h 主机地址 -u 用户名 -p 用户密码

五、执行常用的mysql数据库操作

注意:以下操作都是在连接数据库之后,进入mysql环境,之后执行的命令都必需带有分号“;”

1.新增用户 授权

格式如下: grant 操作权限 on 数据库.* to test1@"%" identified by "abc";
意思是: 授予,某主机上的某用户(附带该用户的登录密码)在某数据库上,执行某些操作的权限

(1)比如:任意主机上(“%”),用户(用户名:test1,密码:adc)在所有数据库上,执行任意操作的权限(危险哦)
grant all privileges on *.* to test1@"%" identified by “abc”;

其中 all privileges 表示查询、插入、修改、删除的权限:select、insert、update、delete

以上命令等价于:
grant select,insert,update,delete on *.* to test1@"%" identified by "abc";

然后刷新权限
flush privileges;

(2)比如:授权本地主机上的用户操作数据库的权限

创建数据库(比如:openfire)
create database openfire;

授予本地主机用户 (用户名:test1,密码:test1)访问数据库(数据库名称:openfire)的操作权限
grant all privileges on openfire.* test1@localhost identified by "test1";
flush privileges;

现在,就可以用新的用户,访问openfire数据库了。

2.更新指定账户的密码(用户名:test1,新密码:1234)

update mysql.user set password=password('1234') where User="test1" and Host="localhost";

3.删除用户

先使用mysql数据库
use mysql;

删除mysql数据库中user表中的某个本地用户(test7)
delete from user where User="test7" and Host=“localhost”;

4.显示命令

(1)显示所有数据库列表
show databases;

初始化只有两个数据库,mysql 和 test
注意:Mysql的系统信息都存储在mysql库中,比如:修改密码和新增用户,实际就是在这个库进行

(2)打开某个数据库(比如数据库:openfire);
use openfire;

(3)显示本库中的所有表
show tables;

(4)显示某表的结构
describe table1;

(5)建库
create database 库名;

(6)建表
use 库名;
create table 表名 (字段设定列表);

(7)删库
drop database 库名;

(8)删表
drop table 表名;

(9)将表中的记录清空
delete from 表名;

(10)显示表中的记录
select * from 表名;

六、退出mysql

exit

七、启动和停止mysql

启动
/usr/local/mysql/share/mysql.server start

停止
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
输入root密码

 

 

附:

一、MySQL处理数据库和表的常用命令


处理数据库

查看数据库
获取服务器上的数据库列表通常很有用。执行show databases;命令就可以搞定。
mysql> show databases;

创建数据库

mysql> create database db_test;

Query OK, 1 row affected (0.00 sec)

 

使用数据库
数据库一旦创建,就可以通过“使用”(use命令)数据库,将其指定为默认的工作数据库。
mysql> use db_test;
Database changed

删除数据库
删除数据库的方式与创建的方式很相似。可以在mysql客户端中使用drop命令删除数据库,如下:
mysql> drop database db_test;
Query OK, 0 rows affected (0.00 sec)
 
处理表

这里将对如何创建、列出、查看、删除和修改MySQL数据库表。

创建表
表通过create table语句来创建。创建表的过程中会使用非常多的选项和子句,在这里完全总结一遍也是不现实的,这里只是总结最普遍的,以后遇到别的,再单个总结。创建表的一般用法如下:
mysql> create table tb_test(
    -> id int unsigned not null auto_increment,
    -> firstname varchar(25) not null,
    -> lastname varchar(25) not null,
    -> email varchar(45) not null,
    -> phone varchar(10) not null,
    -> primary key(id));
Query OK, 0 rows affected (0.03 sec)
记住,表至少包含一列。另外,创建表之后总是可以再回过头来修改表的结构。无论当前是否在使用目标数据库,都可以创建表,只要在表名前面加上目标数据库即可。例如:
mysql> create table db_test.tb_test(
    -> id int unsigned not null auto_increment,
    -> firstname varchar(25) not null,
    -> lastname varchar(25) not null,
    -> email varchar(45) not null,
    -> phone varchar(10) not null,
    -> primary key(id));
Query OK, 0 rows affected (0.03 sec)

有条件的创建表
在默认情况下,如果试图创建一个已经存在的表,MySQL会产生一个错误。为了避免这个错误,create table语句提供了一个子句,如果你希望在目标表已经存在的情况下简单地退出表创建,就可以使用这个子句。例如:
mysql> create table if not exists db_test.tb_test(
    -> id int unsigned not null auto_increment,
    -> firstname varchar(25) not null,
    -> lastname varchar(25) not null,
    -> email varchar(45) not null,
    -> phone varchar(10) not null,
    -> primary key(id));
Query OK, 0 rows affected, 1 warning (0.00 sec)
无论是否已经创建,都会在返回到命令提示窗口时显示“Query OK”消息。

复制表
基于现有的表创建新表是一项很容易的任务。以下代码将得到tb_test表的一个副本,名为tb_test2:
mysql> create table tb_test2 select * from db_test.tb_test;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
将向数据库增加一个相同的表tb_test2。而有的时候,可能希望只基于现有表的几个列创建一个表。通过create select语句中指定列就可以实现:
mysql> describe tb_test;
+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| firstname | varchar(25)      | NO   |     | NULL    |                |
| lastname  | varchar(25)      | NO   |     | NULL    |                |
| email     | varchar(45)      | NO   |     | NULL    |                |
| phone     | varchar(10)      | NO   |     | NULL    |                |
+-----------+------------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
mysql> create table tb_test2 select id, firstname, lastname, email from tb_test;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> describe tb_test2;
+-----------+------------------+------+-----+---------+-------+
| Field     | Type             | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+-------+
| id        | int(10) unsigned | NO   |     | 0       |       |
| firstname | varchar(25)      | NO   |     | NULL    |       |
| lastname  | varchar(25)      | NO   |     | NULL    |       |
| email     | varchar(45)      | NO   |     | NULL    |       |
+-----------+------------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

创建临时表
有的时候,当工作在非常大的表上时,可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录保存到一个临时表可能更快一些,然后对这些临时表进行查询操作。可以通过使用temporary关键字和create table语句来实现。
mysql> create temporary table emp_temp select firstname, lastname from tb_test;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
临时表的创建与其它表一样,只是它们存储在操作系统指定的临时目录中。临时表将在你连接MySQL期间存在,当你断开时,MySQL将自动删除表并释放所有的内存空间;当然了,你也可以手动的使用drop table命令删除临时表。

查看数据库中可用的表
可以使用show tables命令完成。例如:
mysql> show tables;
+-------------------+
| Tables_in_db_test |
+-------------------+
| tb_test           |
| tb_test2          |
+-------------------+
2 rows in set (0.00 sec)

查看表结构
可以使用describe语句查看表结构,例如:
mysql> describe tb_test;
+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| firstname | varchar(25)      | NO   |     | NULL    |                |
| lastname  | varchar(25)      | NO   |     | NULL    |                |
| email     | varchar(45)      | NO   |     | NULL    |                |
| phone     | varchar(10)      | NO   |     | NULL    |                |
+-----------+------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
另外,使用show命令也能得到相同的结果,例如:
mysql> show columns in tb_test;
+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| firstname | varchar(25)      | NO   |     | NULL    |                |
| lastname  | varchar(25)      | NO   |     | NULL    |                |
| email     | varchar(45)      | NO   |     | NULL    |                |
| phone     | varchar(10)      | NO   |     | NULL    |                |
+-----------+------------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

删除表
删除表是使用drop table语句实现的,其语法如下:
drop [temporary] table [if exists] tbl_name [, tbl_name, ...]

更改表结构
我们会发现,我们会经常修改和改进表结构,特别是在开发初期;但是,每次进行修改时不必都先删除再重新创建表。相反,可以使用alter语句修改表的结构。利用这个语句,可以再必要时删除、修改和增加列。和create table一样,alter table提供了很多子句、关键字和选项。这里只是会说一些简单的使用,比如在表tb_demo表中插入一列,表示email,代码如下:
mysql> alter table tb_demo add column email varchar(45);
Query OK, 0 rows affected (0.14 sec)
Records: 0  Duplicates: 0  Warnings: 0
新的列放在表的最后位置。不过,还可以使用适当的关键字(包括first、after和last)来控制新列的位置。如果想修改表,比如,刚刚加的email,我想加入一个not null控制,代码可以是这样的:
mysql> alter table tb_demo change email email varchar(45) not null;
Query OK, 0 rows affected (0.11 sec)
Records: 0  Duplicates: 0  Warnings: 0
如果觉的这个email这列没有存在的必要了,可以使用下面的代码删除它,例如:
mysql> alter table tb_demo drop email;
Query OK, 0 rows affected (0.09 sec)
Records: 0  Duplicates: 0  Warnings: 0


二、常用命令汇总:

连接:mysql -h 主机地址 -u 用户名 -p 用户密码 (注:u与root可以不用加空格,其它也一样) 
断开:exit (回车) 

创建授权:grant select on 数据库.* to 用户名@登录主机 identified by /"密码/" 
修改密码:mysqladmin -u用户名 -p旧密码 password 新密码 
删除授权: revoke select,insert,update,delete om *.* from test2@localhost; 

显示数据库:show databases; 
显示数据表:show tables; 
显示表结构:describe 表名; 

创建库:create database 库名; 
删除库:drop database 库名; 
使用库:use 库名; 

创建表:create table 表名 (字段设定列表); 
删除表:drop table 表名; 
修改表:alter table t1 rename t2 
查询表:select * from 表名; 
清空表:delete from 表名; 
备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasename tablename > tablename.sql 
恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql(操作前先把原来表删除) 

增加列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c); 
修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20); 
删除列:ALTER TABLE t2 DROP COLUMN c; 

备份数据库:mysql/bin/mysqldump -h(ip) -uroot -p(password) databasename > database.sql 
恢复数据库:mysql/bin/mysql -h(ip) -uroot -p(password) databasename < database.sql 
复制数据库:mysql/bin/mysqldump --all-databases > all-databases.sql 
修复数据库:mysqlcheck -A -o -uroot -p54safer 

文本数据导入:load data local infile /"文件名/" into table 表名; 

数据导入导出:mysql/bin/mysqlimport database tables.txt

 

三、权限说明

全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示/搜索表的记录。
UPDATE: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录–其它什么也不允许做。

/**
 * end
 */

我也是被XMPP逼的,只得来自己配openfire,无奈得先配MySQL。
以上内容本人亲测无误,不排除在写文章时有打错字母之类的,欢迎大家参考。

以上内容参考整理自:
http://www.php100.com/html/it/focus/2014/1028/7635.html
http://blog.csdn.net/li_huifeng/article/details/9449685
http://www.php100.com/html/webkaifa/database/Mysql/2009/0910/3288.html

 

 

分享到:
评论

相关推荐

    burger-logger:使用MySQL,Node,Express,Handlebars和ORM的burger-logger

    汉堡记录仪 遵循MVC设计模式使用MySQL,Node,Express,Handlebars和ORM的汉堡记录器。 Node和MySQL用于在burger-logger中查询和路由数据,Handlebars生成到... 如果用户使用的是Mac OS,则可以采取以下步骤来创建数

    sqldeveloper-21.4.3.x64+jdk1.8

    该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。 Oracle SQL Developer是针对Oracle数据库的交互式开发环境(IDE)。 Oracle SQL Developer简化了Oracle...

    中文版PHP使用手册

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类...

    PHP函数参考手册大全

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类...

    Settled:把你的 Ubuntu 机器变成一个很棒的开发工具

    默认情况下,Settled 会安装以下软件包及其依赖项: cURL、Git、Ruby、Oh-My-ZSH、Homebrew、Vim、Node.js、Heroku Toolbelt、Phonegap、Grunt-cli、Gulp、Bower、Yeoman、SASS、Compass、Susy、Breakpoint。...

    PHP5 完整官方 中文教程

    Mac OS X 系统下的安装 Windows 系统下的安装 PECL 扩展库安装 还有问题? 运行时配置 语言参考 基本语法 类型 变量 常量 表达式 运算符 控制结构 函数 类与对象(PHP 4) 类与对象(PHP 5) Namespaces 异常处理 ...

    经典收藏最全php5.0查询手册

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类...

    php手册PHP5研究室编无乱码版本chm

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17...

    PHP手册(带评论版-2008-03-14).part2.rar

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类...

    PHP手册(带评论版-2008-03-14).part1.rar

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类...

    PHP5中文参考手册

    Mac OS X 系统下的安装 Windows 系统下的安装 PECL 扩展库安装 还有问题? 运行时配置 语言参考 基本语法 类型 变量 常量 表达式 运算符 控制结构 函数 类与对象(PHP 4) 类与对象(PHP 5) Namespaces 异常处理 ...

    PHP5 开发手册 简体中文手册

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类...

    php手册.chm,php手册

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类...

    php帮助文档,php。chm,php必备的中文手册

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 流程控制 17. 函数 18. 类...

    PHP手册2007整合中文版

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 控制结构 17. 函数 18. 类...

    PHP官方手册中文版

    5. Mac OS X 系统下的安装 6. Windows 系统下的安装 7. PECL 扩展库安装 8. 还有问题? 9. 运行时配置 III. 语言参考 10. 基本语法 11. 类型 12. 变量 13. 常量 14. 表达式 15. 运算符 16. 控制结构 17...

Global site tag (gtag.js) - Google Analytics