MySQL的开关在系统偏好设置里
- 但是我就是更喜欢命令行~(≧▽≦)/~
在网上下载相应的dmg包以后,改一下环境变量
直接终端登录
/usr/local/mysql/bin/mysql -u root -p
修改映射
MacBook-Pro:/ root# ln -s /usr/local/mysql/bin/mysql /usr/bin
绝对路径
终端中输入命令:echo $PATH
没有,继续
添加需要路径:PATH="$PATH":/usr/local/mysql/bin
以后
终端中需输入命令:mysql -u root -p 即可
vim修改
在终端输入:
?
1
2
3
sudo chmod +w bashrc
sudo vi /etc/bashrc
在bashrc的末尾增加以下两个命令别名,便于快速使用mysql
#mysql alias mysql='/usr/local/mysql/bin/mysql' alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
提示:在bashrc中添加命令别名之后,需要重新启动终端,方可使用快捷命令
远程登录
如果登陆远程主机上的mysql数据库
mysql -h 主机地址 -u 用户名 -p 用户密码
登录之后干嘛呢
创建用户分配权限
1.新建用户。
登录MYSQL
@>mysql -u root -p
@>密码
创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp 密码为:1234 的用户。
然后登录一下。
mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功
2.为用户授权。
登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
刷新系统权限表
mysql>flush privileges;
mysql>其它操作
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
以上都是简单的操作,现在,我copy了一份完整版
五. 配置PHPAdmin (非必须)
1. 下载PHPAdmin,解压缩到~/Sites目录下,并将目录重命名为:phpmyadmin;
2. 在浏览器中输入:
http://localhost/~apple/phpmyadmin/setup/
添加一个服务器配置即可。
六. 设置数据库默认字符集 (必须)
在终端输入:
mysql -u root -p root # 创建名为 mydb 的数据库 create database mydb; # 将 mydb 的默认字符集设置为 utf8 alter database mydb default character set = utf8;
注:mysql默认使用的字符集是latin1,不支持中文,需要设置一下哦。
数据库常用操作
以root权限连接mysql
mysql -u root -proot
1、为新用户授权
格式如下:
?
1
grant 操作权限 on 数据库.* to 用户名@登陆主机地址 identified by '密码';
意思是:授予,某主机上的某用户(附带该用户的登陆密码)在某数据库上,执行某些操作的权限
(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;
授予本地主机用户(用户名:test2,密码:123)访问数据库(数据库名称:openfire)的操作权限
grant all privileges on openfire.* to test2@localhost identified by "123";
flush privileges;
之后,就可以用新的用户,访问openfire数据库了
2.更新指定帐户的密码(用户名:test1,新密码:1234)
?
1
update mysql.user set password=password('1234') where User="test1" and Host="localhost";
3.删除用户
先使用mysql数据库
?
1
use mysql;
删除mysql数据库中user表中的某个本地用户(test7)
?
1
delete from user where User="test7" and Host="localhost";
4.显示命令
(1)显示所有数据库列表
?
1
show databases;
初始化只有两个数据库,mysql和test
注意:MYSQL的系统信息都存储在mysql库中,比如:修改密码和新增用户,实际上就是用这个库进行操作
(2)打开某个数据库(比如数据库:openfire)
?
1
use openfire;
(3)显示本库中的所有表
?
1
show tables;
(4)显示某表(table1)的结构
?
1
describe table1;
(5)建库
?
1
create database 库名;
(6)建表
?
1
2
3
use 库名;
create table 表名 (字段设定列表);
(7)删库
?
1
drop database 库名;
(8)删表
?
1
drop table 表名;
(9)将表中的记录清空
?
1
delete from 表名;
(10)显示表中的记录
?
1
select * from 表名;
六、退出mysql
?
1
exit
七、启动、停止、重启MySQL (bash命令下,密码是系统登录密码)
?
1
启动Mysql服务
?
1
2
3
4
5
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
停止Mysql服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
重启Mysql服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
八、其他常见表操作
bash下键入:mysql -uroot -p
回车后输入密码再回车
mysql -uroot -proot
临时更改窗口字符编码:输入、结果
set character_set_client=gb2312;
set character_set_results=gb2312;
用库:
use beyond;
查表:
show tables;
mysql> \s