一、到社区下载安装包
二、安装
1、双击安装包
三、启动MySQL
1、打开系统偏好设置,会发现多了一个MySQL图标
2、点击它,会进入MySQL的设置界面
3、这里就可以对MySQL进行一些简单操作的管理
四、终端操作MySQL
我们在终端输入mysql,发现提示 commod not found,那是因为我们没配置系统的环境变量,下面我们来配置:
1)查看mysql是否安装成功
2)在终端加入环境路径
????第一步 :在终端切换到根目录,编辑./.bash_profile文件
????$cd. ? ?~
????$ vim ?./.bash_profile
????第二步 :进入vim 编辑环境。 按下i 进入 insert 模式 ,输入
????export ?PATH=$PATH:/usr/local/mysql/bin
????export ?PATH=$PATH:/usr/local/mysql/support-files
????第三步 :按下esc 退出 insert 模式,输入:wq保存配置文件。
????:wq
????第四步 :在终端界面下输入以下命令,让配置文件的修改生效,并查看环境变量是否设置成功
????$source ~/.bash_profile
????$echo $PATH
????2.1 MySQL服务的启停和状态的查看
? ??停止MySQL服务
????????????sudo mysql.server stop
????重启MySQL服务
????????????sudo mysql.server restart
? ? 查看MySQL服务状态
????????????sudo mysql.server status
????3)登陆mysql
????第一步 :终端界面下输入
????????????sudo mysql.server start
? ??第二步 :启动mysql服务,启动成功后继续输入
? ??????????mysql -u root -p. jingyu
五、初始化设置
????????????设置初始化密码,进入数据库mysql数据库之后执行下面的语句,设置当前root用户的密码为root。
????????????set password=password('root');
? ? ? ? ? ?5.1 退出sql界面 ? ???
? ??????????exit
? ? ? ? ? ?5.2、配置??
????????????进入到 /usr/local/mysql/support-files 目录。里面有个文件:my-default.cnf
????????????将其复制到桌面上,改名为my.cnf,将内容替换为。
????????????[mysqld]?
? ? ? ? ? ? ? ? ? default-storage-engine= INNODB?
? ? ? ? ? ? ? ? ? character-set-server=utf8?
? ? ? ? ? ? ? ? ? port = 3306?
????????????[client] ?
??????????????????default-character-set = utf8
????????????将修改后的文件my.cnf复制到 /etc 目录下。
????????????重启mysql
????????????5.3 检测修改结果????
????????????$mysql>>> show variables like '%char%' ;
命令行
Note that all text commands must be first on line and end with ';'
?? ? ? ? (\?) Synonym for `help'.
clear? ? (\c) Clear the current input statement.
connect? (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit? ? ? (\e) Edit command with $EDITOR.
ego? ? ? (\G) Send command to mysql server, display result vertically.
exit? ? ? (\q) Exit mysql. Same as quit.
go? ? ? ? (\g) Send command to mysql server.
help? ? ? (\h) Display this help.
nopager? (\n) Disable pager, print to stdout.
notee? ? (\t) Don't write into outfile.
pager? ? (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print? ? (\p) Print current command.
prompt? ? (\R) Change your mysql prompt.
quit? ? ? (\q) Quit mysql.
rehash? ? (\#) Rebuild completion hash.
source? ? (\.) Execute an SQL script file. Takes a file name as an argument.
status? ? (\s) Get status information from the server.
system? ? (\!) Execute a system shell command.
tee? ? ? (\T) Set outfile [to_outfile]. Append everything into given outfile.
use? ? ? (\u) Use another database. Takes database name as argument.
charset? (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings? (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
resetconnection(\x) Clean session context.
1、数据库登录:?
1.登录本地的MYSQL数据库:mysql -u root -p??
2.连接远程主机上的MYSQL数据库:mysql -h 192.168.191.2 -u root -p 123456
密码修改:mysqladmin -u root -p 旧密码? -password 新密码
mysqladmin -u root -p abs123? -password 123456
2、增加新用户并指定用户的权限,命令格式:grant 权限,权限2,... on 数据库名.数据表 to 用户名@用户的地址 identified by 密码
grant select ,insert,create,drop on test.student to peter@192.168.15.12 identifiled by 'abc123'?
3、数据库备份:mysqldump -h 主机名 -P 端口号 -u 用户名 -p 密码 databasename datatablename > out.sql
导出数据库所有数据:mysqldump -u root -p 123456 test > out.sql
导出数据库数据表数据:mysqldump -u root -p 123456 test student > out.sql
?导出数据库的表结构,不导出数据 mysqldump -u root -p --opt -d test > out.sql
导出数据而不导出结构? mysqldump -u root -p -t -d test > out.sql
导出特定表的结构 mysqldump -u root -p -d test --table student > out.sql
数据导入:
mysql test < out.sql
source out.sql
4、mysql 数据类型总结
MYSQL 数据类型含义
整型?
tinyint1个字节
smallint2个字节
mediumint3个字节
int(m)4个字节
bigint(m)?8个字节
?浮点数?
?float(m,d)?单精度浮点数
?double(m,d)?双精度浮点数
?字符串?
char(n)?固定长度,最多255个字符
?varchar(n)?可变长度,最多65535个字符
?tinytext?可变长度,最多255个字符
?text?可变长度,最多65535个字符
?mediumtext?可变长度,最多2的24-1次方个字符
?longtext?可变长度,最多2的32-1次方个字符
?二进制数据?
?tinyblob?0-255字节
?blod?
mediumblod?
long blod?
日期时间类型?
date日期 2019-05-29
time时间 21:12:12
datetime日期时间??2019-05-29?21:12:12
timestamp自动存储记录修改时间,可以存放最后被修改的时间
5、MYSQL 关键字
MYSQL 关键字含义
NULL数据列可以为NULL
NOT NULL数据列不可以包含NULL值
DEFAULT默认值
PRIMARY KEY主键
AUTO_INCREMENT自动递增,适用于整数类型·
UNSIGNED无符号
CHARACTER SET name指定一个字符集
6、创建数据库和数据表:create database 数据库名称 [其他选项]
7、使用数据库:use 数据库名
8、创建数据表: create table 表名(列声明1,列声明2,列声明3...)
例子:创建学生记录表,表有学号(ID),姓名(name),性别(sex),年龄(age), 入学日期(school_day)
create table student(
id int unsigned not null? primary key,
name varchar(10) not null,
sex char(4) not null,
age tinyint unsigned not null ,
school_day datetime not null
)
9、数据表的增删改查操作
插入新数据:insert into student values(101,'peter','male','17','2019-5-29 12:12:00')
mysql> select * from student;
+----------+------------+-----------+-----------+---------------------+
| id | name | sex | age | school_day |
+----------+------------+-----------+-----------+---------------------+
| 101 | peter | male | 17 | 2019-05-29 12:12:00 |
+----------+------------+-----------+-----------+---------------------+
更新数据记录: update student set age=23 where id=101
删除操作:delete from student where age=18;
10、关于表格结构的操作
添加列:alter table student add address varchar(100) after age;
更改列的名称:alter table student change address addr? char(69);
删除列:alter table student drop addr;
重命名表格:alter table student rename students;
11、删除数据库和数据表
删除表:drop table student;
删除数据库:drop database? test;
六、可视化界面
????????????如果觉得命令行操作不方便,也可以使用可视化软件,例如 navacat、