一、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
相关推荐
##### Mac OS X环境下安装MySQL - 在Mac OS X下,可以通过Homebrew等工具进行安装。 ### 安装后的注意事项 - **初始化MySQL**:安装完成后,需要执行初始化操作,如创建数据库、设置权限等。 - **权限设置**:...
本指南将通过图文并茂的方式,详细介绍MySQL的安装过程及其基本配置。 首先,我们需要了解安装MySQL的系统要求。MySQL可以在多种操作系统上运行,包括Windows、Linux、Mac OS等。确保你的计算机满足最低硬件需求,...
在MAC OS X上安装MySQL是一项常见的任务,尤其是对于开发者来说,因为系统虽然内置了Apache和PHP,但并不包括MySQL。以下是一份详细的步骤指南,帮助你在MAC上顺利安装MySQL。 首先,你可以尝试使用Homebrew(一个...
- 本手册旨在为用户提供全面的 MySQL 使用指导,包括但不限于安装、配置、管理等方面的知识。 - **1.2.1 本手册中使用的约定** - 例如:斜体用于强调或表示变量名;`等宽字体`用于表示命令行输入等。 - **1.3 MySQL...
它支持多种操作系统,如Windows、Linux、Mac OS等,并且提供了丰富的功能和工具来满足不同场景下的需求。 #### 二、MySQL数据库安装前准备 在安装MySQL数据库之前,确保您的系统符合以下条件: - 操作系统:Windows...
它支持多种操作系统,如Windows、Linux、Mac OS等,并且提供了丰富的功能和工具来满足不同场景下的需求。 #### 二、MySQL数据库安装步骤 本节将详细介绍在Linux环境下安装MySQL数据库的方法,主要包括下载安装资源...
1. **下载安装包**:用户可以从MySQL官方网站或第三方下载站点获取MySQL5.0.22的安装程序,确保下载的是适合自己操作系统的版本,如Windows、Linux或Mac OS。 2. **运行安装程序**:在Windows环境下,双击下载的....
下面将详细介绍如何在Mac上安装MySQL及其相关工具MySQL Workbench。 1. **安装MySQL** 首先,你需要访问MySQL的官方网站[http://www.mysql.com/downloads/](http://www.mysql.com/downloads/)来下载适合Mac OS的...
2. **安装与配置**:手册会详细讲解如何在不同的操作系统上安装MySQL 5.1.0,包括Windows、Linux和Mac OS等,并指导如何配置服务器参数,如设置端口、数据存储路径、用户权限等。 3. **SQL基础**:SQL是MySQL的核心...
- 操作系统支持:Windows、Linux 或 Mac OS X。 - 硬盘空间:根据不同的安装选项,需要预留至少 200MB 至 1GB 不等的空间。 - 系统资源:足够的内存(推荐 1GB 以上)和处理器性能。 #### 三、安装步骤 ##### 3.1 ...
- **适用平台**:MySQL Workbench 支持 Windows、Linux 和 Mac OS X 多个操作系统。 #### 二、安装与启动 - **下载**:访问 MySQL 官方网站下载适合操作系统的安装包。 - **安装**:按照提示进行安装配置。 - **...
- **Mac OS系统**:可以通过Homebrew安装MySQL,使用命令`brew install mysql`。 ##### 3. 配置MySQL - **设置root用户密码**:安装完成后首次运行MySQL时,会提示设置root用户的初始密码,确保密码强度足够高以...
- **在Windows环境下对MySQL安装的故障诊断与排除**:列出了常见的安装问题及其解决方案。 - **在Windows下升级MySQL**:介绍了如何在Windows环境下安全地升级MySQL。 - **Windows版MySQL同Unix版MySQL对比**:比较...
### MySQL Workbench 使用手册知识点概览 #### 一、MySQL Workbench 简介 ...通过上述知识点的详细解读,读者可以全面了解 MySQL Workbench 的主要功能及其使用方法,从而更好地利用该工具进行数据库管理与开发。
- 介绍了在Windows环境下如何卸载MySQL及其清理工作。 - **2.9.2 Unix系统的卸载过程** - 说明了在Unix环境下卸载MySQL的方法。 - **2.9.3 使用start-server启动MySQL服务** - 解释了如何启动MySQL服务并确保其...
MySQL支持多种操作系统,如Windows、Linux、Mac OS等,并提供丰富的API和开发工具供程序员使用。 2. **安装过程**: - **下载**:可以从MySQL官方网站或第三方可靠源下载安装包。 - **预安装检查**:确保系统满足...
- 在不同的操作系统上(如Windows、Linux、Mac OS)安装MySQL的方法和配置步骤。 - 配置文件my.cnf的解读,包括修改端口号、数据存储位置、初始化数据库等设置。 3. **SQL基础**: - 数据库创建、删除与修改...
5. **安装流程**:安装MySQL 5.1时,首先需要下载适合操作系统(如Windows、Linux或Mac OS)的安装包。然后,按照安装向导指示进行,包括选择安装类型(典型、最小化或自定义)、设置服务启动选项、配置网络连接和...