mysql的安装和基本命令_MySQL安装以及简单命令用法

MYSQL:关系型数据库

存储引擎:负责将逻辑层的概念转化为物理层机制,在物理层完成物理机制。

支持事务:transaction

必须满足的条件:ACID(一致性,持久性,原子性,隔离性)

锁:并发访问

随机访问:数据在磁盘上是随机存储的

安装:

OS Vendor使用操作系统安装:

以CentOS为例:mysql,

mysql-server:

mysql-devel:编译安装时需要

MySQL官方提供的安装:官方网站:www.mysql.com

源码编译安装

通用二进制格式程序包安装

rpm包安装

还可以通过镜像下载:http://mirrors.sohu.com/

MySQL的配置文件:my.cnf,集中式多段配置文件

MySQL服务器程序:mysqld

客户端程序:mysql, mysqldump, mysqladmin

建议在生产环境中将mysql安装在逻辑卷上,这样方便以后的管理,空间不够的话可以增大空间。

datadir: /var/lib/mysql/

datadir: /usr/local/mysql/data/

mysqld: mysql,:mysql

以mysql用户的身份操作,属主和属组都为mysql,并且对所操作的目录有读和写的权限。

安装操作

1:创建逻辑卷并挂载

创建磁盘分区

#fdisk /dev/sda

创建物理分区

#pvcreate /dev/sda{3,5}

创建卷组为myvg

#vgcreate myvg /dev/sda{3,5}

创建逻辑卷mydata

#lvcreate -L 20G -n mydata myvg

对其进行格式化

#mke2fs -t ext4 -L MYDATA -b 2048 /dev/myvg/mydata

进行挂载

#mkdir /mydata

#mount -a

要使得能够开机自动挂载,需要编辑配置文件/etc/fstab

211f221f6b20657a839845970b93f32b.png

在/mydata下创建data目录

#mkdir/mydata/data

2:解压安装

添加系统用户mysql

#useradd -r mysql

修改属主和属组

#chown -R mysql:mysql /mydata/data

下载的文件解压到/usr/local/

#tar xfmysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local

在这里,我们还有查看是否安装启动别的mysql版本的服务器,如果有,那么我们需要将其关闭

#ss -tanl其中3306端口需要是关闭状态

在/usr/local/下

#ln -sv mysql-5.5.33-linux2.6-x86_64 mysql

#chown -R root:mysql /usr/local/mysql/*

#cd mysql/support-files有样例,我们可以根据自己的需要选择

将选择的文件复制一份到/etc/目录下并修改文件名为my.cnf

#cp my-large.cnf /etc/my.cnf

3:修改配置文件

#vim /etc/my.cnf

找到相关设置进行修改操作

a773d4514e4868c1e251d977801b7a45.png

thread_concurrency = 4并发核心数,如果物理核心为2,这里就可以填写4

在下面添加datadir = /mydata/data

添加

innodb_file_per_table = 1  每表一个表空间

服务脚本

#cp mysql.server /etc/rc.d/init.d/mysqld

添加mysql服务

#chkconfig --add mysqld

启动mysql

#service mysqld start

这时候显示启动失败了,分析出来我们要先初始化,因而我们安装mysql时要注意,第一次安装启动时要进行初始化,对所出现的问题我们进行处理

先将/mydata/data/下的所有文件删除掉

#rm -rf /mydata/data/*

进行初始化

#cd /usr/local/mysql/

#scripts/mysql_install_db --user=mysql --datadir=/mydata/data/初始化成功

启动服务

#service mysqld start

这时候还不能连接客户端

# vim /etc/profile.d/mysql.sh

export PATH=/usr/local/mysql/bin:$PATH

执行脚本

# . /etc/profile.d/mysql.sh

#mysql就可以进入了

4:因为我们的安装不在标准路径下,所以还要导出相关文件

导出帮助文件

#vim /etc/man.config

MANPATH /usr/local/mysql/man

导出头文件

#ln -sv /usr/local/mysql/include /usr/local/mysql

导出库文件

#vim /etc/ld.so.conf.d/mysql.conf

/usr/local/mysql/lib

至此我们的mysql配置完成。

mysql> show [global|session] variables;显示服务器参数变量

有些变量的值可以修改,能够改变mysql的工作特性

有些可以动态调整,即刻生效;

另外一些只能修改配置文件后,重启生效;

mysql> show [global|session] status;显示服务器状态变量,记录了当前包括过去的时间内mysql的运行统计数据

MySQL用户名:USERNAME@HOST

mysql客户端执行命令:

客户端命令:不需语句结束符

mysql> help

服务器端命令:特指SQL语句,必须有语句结束符,默认为分号;

mysql> help COMMAND

用户管理:

创建用户:

CREATE USER username@host [IDENTIFIED BY 'password'];

用户或主机可以使用通配符:

%:匹配任意长度的任意字符;

_: 匹配任意单个字符;

例如:CREATE USER‘wpuser’@‘172.16.%.%’IDENTIFIED BY 'wppass'

允许172.16.网段的主机连接创建wpuser用户  密码为wppass

用户授权:GRANT ALL PRIVILEGES ON dbname.tablename TO username@host [IDENTIFIED BY 'password'];

dbname.tablename  dbname表示库名

tablename表示表名

修改用户密码:

1、mysql> SET PASSWORD FOR username@host=PASSWORD('password');

2、# mysqladmin -uusername password 'password' -p

-p 后面跟以前的密码

删除用户:DROP USER username@host;

授权

GRANT ALL ON *.* TO 'root'@'172.16.%.%' IDENTIFIED BY 'mypass';有特殊符号需要用引号引起来

mysql>SELECT VERSION();    显示版本号

mysql>SHOW DATABASES;      显示数据库

mysql>SELECT user,host,password FROM user; 从user表查询user,host,password 相关信息

mysql>FLUSH PRIVILEGES;   重读授权表

加密码:

mysql>SET PASSWORD FOR‘root‘@host=PASSWORD('password');

创建表:

mysql>CREATE TABLE tb_name (col1 defination, col2 defination, ..., key defination);

删除表:

mysql>DROP TABLE tb_name;

INSERT INTO  :插入内容

SELECT 字段FROM表WHERE ;

字段:

col1, col2

*

col1 AS NEWNAME, col2,

比较运算:>, =, <=, =, !=

NULL: IS NULL, IS NOT NULL

LIKE :

%: 任意长度的任意字符

_:任意单个字符

IN (LIST)

RLIKE: 正则表达式书写模式

UPDATE 表名SET字段名=值WHERE;

DELETE FROM 表名WHERE ;

mysql>

quit, \q退出

delimiter, \d变换语句结束符,定义使用的结束符

go, \g不知道结束符而把语句送到服务器端去执行

use, \u设定默认数据库

ego, \G不知道结束符而把语句送到服务器端去执行,并且将每一行的结果纵向显示

system, \!不退出当前mysql客户端程序而执行系统命令

status, \s显示当前mysql服务器的状态信息

mysql:执行方式有两种

交互式方式:

-h, --host=指定要连接的远程主机

-u, --user=指定用户名

-p, --password=密码

-D db_name, --database=可以直接将某个指定的数据库设定为数据库

-e 'SQL_Statement;'不会连接到主机,而是将命令送到对方主机后直接将结果取回来

批处理模式:(使用sql脚本)

mysql OPTIONS < script.sql

mysql> source /path/to/script.sql

#vim test.sql

create database wpdb;

Create user‘wpuser’@’172.16.%.%’identified by‘wppass’;

Create user‘wpuser’@’localhost’identified by‘wppass’;

Grant all wpdb.*‘wpuser’@’172.16.%.%’;

Grant all wpdb.*‘wpuser’@’localhost’;

#mysql -uroot -pmypass < test.sql

mysqld, mysql: /etc/my.cnf配置文件

/etc/my.cnf, /etc/mysql/my.cnf, $MYSQL_BASE/my.cnf, ~/.my.cnf

#vim .my.cnf

[client]

user=root

host=localhost

password=mypass

#chmod 600 .my.cnf 修改权限对当前用户有效

这样本机用户就不用每次都指定用户名、主机名、密码了,而其他用户不会有权限,

显示所支持的所有字符集:

mysql> SHOW CHARACTER SET;

显示所有字符集的排序规则:

mysql> SHOW COLLATION;

关系型数据库:

Constraint:

主键:primary key

不能为空,惟一;

惟一键:uniq key

可以为空,惟一;

外键:foreign key

引用性约束

检查性约束:

0

MySQL基础操作练习(所属的库叫做testdb):

新建如下表(包括结构和内容):

ID    Name          Age     Gender     Course

1     Ling Huchong   24      Male       Huashan

2     Huang Rong    19      FemaleEmen

3     Lu Wushaung   18      FemaleHengshan

4     Zhu Ziliu52      MaleKongdong

5     Chen Jialuo22      MaleShaolin

创建库:

mysql>create database testdb

启用testdb库

mysql>use testdb

创建表tb1

mysql>CREATE TABLE tb1 (ID TINYINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, Name CHAR(30) NOT NULL UNIQUE KEY, Age TINYINTUNSIGNED, Gender CHAR(1) DEFAULT 'M', Course VARCHAR(50) NOT NULL);

查看数据库

mysql> show databases;

DESCRIPTION tb1 查看有几个字节

插入内容

mysql> insert into tb1 values (1,'Ling Huchong',24,'Male','Huashan');

mysql> insert into tb1 values (2,'Huang Rong',19,'Female','Emen');

mysql> insert into tb1 values (3,'Lu Wushaung',18,'Female','Hengshan');

mysql> insert into tb1 values (4,'Zhu Ziliu',52,'Male','Kongdong');

mysql> insert into tb1 values (5,'Chen Jialuo',22,'Male','Shaolin');

至此tb1表所有内容都存在了,可以查看一下:

899e303d3a4d14d649780e54a6b4f922.png

2、完成如下操作

(1)找出性别为女性的所有人;

mysql> SELECT name FROM tb1 WHERE Gender='Female';

(2)找出年龄大于20的所有人;

mysql> SELECT name FROMtb1WHERE Age>20;

(3)修改Zhu Ziliu的Course为Wudang;

mysql> UPDATEtb1SET Course='Wudang' WHERE name='Zhu Ziliu';

(4)删除年龄小于等于19岁的所有人;

mysql> DELETE FROMtb1WHERE Age<=19;

(5)创建此表及所属的库;

(6)授权给testuser对testdb库有所有访问权限;

mysql> GRANT ALL ON testdb.* TO 'testuser'@'%';

mysql>DROP TABLE tb1;删除表tb1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker集群运行在calico网络上

2019独角兽企业重金招聘Python工程师标准>>> ##网络及版本信息 docker1 centos7 192.168.75.200 docker2 centos7 192.168.75.201 物理网络 192.168.75.1/24 Docker version 1.10.3, build 3999ccb-unsupported &#xff0c;安装过程略 # calicoctl version Version…

人脸识别python face_recognize_python2.7使用face_recognition做人脸识别

偶然看到一篇文章&#xff0c;说是可以实时人脸识别&#xff0c;很有兴趣就自己按照文章开始动手人脸识别&#xff0c;但是实现过程中遇到了几个问题这里做个总结&#xff0c;希望可以帮助到大家安装face_recognition这个之前需要先安装编译dlib&#xff0c;如果没有安装dlib&a…

jvm延迟偏向_用于偏向硬币翻转模拟的Python程序

jvm延迟偏向Here, we will be simulating the occurrence coin face i.e. H - HEAD, T - TAIL. Simply we are going to use an inbuilt library called as random to call a random value from given set and thereby we can stimulate the occurrence value by storing the o…

opengl es的射线拾取

2019独角兽企业重金招聘Python工程师标准>>> 在opengl中关于拾取有封装好的选择模式&#xff0c;名字栈&#xff0c;命中记录&#xff0c;实现拾取的功能&#xff0c;相对容易一些。但是到了opengl es里面就比较倒霉了&#xff0c;因为opengl es是opengl的简化版&am…

视觉学习(4) —— 添加地址传递数据

Modbus Slave 选择一个地址右键&#xff0c;选择发送的数据类型 视觉软件 一、添加地址 当地址为100时&#xff0c;先将首地址改为100&#xff0c;第0个地址为100&#xff0c;第1个地址为101&#xff0c;往后累加 若想使用100—150的地址&#xff0c;即首地址为100&#xff…

jquery中阻止事件冒泡的方法

2019独角兽企业重金招聘Python工程师标准>>> 根据《jquery基础教程》 第一种方法&#xff1a;判断事件的“直接”目标是否是自身&#xff0c;如果不是自身&#xff0c;不予处理 $(div.outter).click(function(event) {if (event.target this) {$(p).css(color, red…

java swing 组织机构_课内资源 - 基于Java Swing的小型社团成员管理系统

一、需求分析1.1 个人信息学号、姓名、性别、年级、系别、专业、出生日期、联系方式、个性签名、地址、照片。1.2 基本功能要求管理员信息管理登录、注销功能修改密码功能部落成员信息管理添加成员删除成员修改成员信息按条件查找筛选成员1.3 高级特性管理员权限管理成员信息包…

centos下安装pip时失败:

2019独角兽企业重金招聘Python工程师标准>>> [rootwfm ~]# yum -y install pip Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.tuna.tsinghua…

java写手机游戏_如何将自己编写的JAVA小游戏写到手机里?

2019-06-19怎么用java编写获取星期几的程序&#xff1f;import java。util。*; public class WeekDay { Calendar date Calendar。getInstance(); private int getMaxDate(int moth){ moth moth -1; if(moth > 12 || moth < 0){ System。 out。println("输入月份错…

gitlab修改默认端口

部署gitlab的时候&#xff0c;一启动&#xff0c;发现80和8080端口已经被占用&#xff0c;无奈&#xff0c;只得先将监听80端口的nginx和监听8080端口的jenkins停止。这会儿有空&#xff0c;琢磨一下如何修改gitlab的默认端口。 修改主要分为两部分&#xff0c;一部分是gitlab总…

深入理解Netscaler INat

深入理解Netscaler INatNetscaler的INat主要是用作基于目的地址的转换&#xff0c;将client访问的公网IP通过Netscaler转换成服务器的私网IP&#xff0c;与DNAT作用类似。由于Netscaler默认的工作机制就是同时做源IP&#xff1a;【源端口】目的IP&#xff1a;【目的端口】的转换…

为什么玩我的世界老提示Java se错误_我的世界error错误信息 error could解决方法

我的世界是一个及其开放的沙盒游戏&#xff0c;而在这个游戏中有不少的问题&#xff0c;比如说遇到error该如何解决呢&#xff0c;看小编给大家带来的我的世界error错误的解决方法&#xff0c;希望大家喜欢。error应用程序错误信息。包括“Error:Unable to access jarfile mcpc…

javascript OOP(下)(九)

一、javascript模拟重载 java中根据参数类型和数量的区别来实现重载&#xff0c;javascript弱类型&#xff0c;没有直接的机制实现重载&#xff0c;javascript中参数类型不确定和参数个数任意&#xff0c;通过判断实际传入的参数的个数来实现重载。 <script> function Pe…

Linux如何查找大文件或目录总结

转载&#xff1a;http://www.cnblogs.com/kerrycode/p/4391859.html 在Windows系统中&#xff0c;我们可以使用TreeSize工具查找一些大文件或文件夹&#xff0c;非常的方便高效&#xff0c;在Linux系统中&#xff0c;如何去搜索一些比较大的文件呢&#xff1f;下面我整理了一下…

java需要会的工具_Java开发者必备的几款工具,一定要掌握!

原标题&#xff1a;Java开发者必备的几款工具&#xff0c;一定要掌握&#xff01;NotepadNotepad是用于编辑xml、脚本以及记笔记的最佳工具。这个工具的最好部分在于&#xff0c;你在Notepad上打开的任何一个文档&#xff0c;在关闭后都会有一个残留文档&#xff0c;它有助于在…

Android推荐的几本书

2019独角兽企业重金招聘Python工程师标准>>> 第一阶段 <<第一行代码Android>><<疯狂Android>>第二阶段 <<Android开发艺术探索>><<Android群英传>>Android源码 第三阶段 <<Android开发艺术探索>><&…

tdr上升时间什么设定_TDR的完整形式是什么?

tdr上升时间什么设定TDR&#xff1a;时域反射仪/车票寄存收据/定期存款收据 (TDR: Time Domain Reflectometer/ Ticket Deposit Receipt/ Term Deposit Receipt) 1)TDR&#xff1a;时域反射仪 (1) TDR: Time Domain Reflectometer) TDR is an abbreviation of the "Time D…

【java】反射+poi 导出excel

2019独角兽企业重金招聘Python工程师标准>>> 反射 导出的数组转变成对象 private static Object expexcelMaptobean(Class<?> cobj,Map<String,String> map,int[] expColums,String[] params) throws InstantiationException, IllegalAccessException…

css设置背景图片大小_如何使用CSS设置背景图片大小?

css设置背景图片大小Introduction: 介绍&#xff1a; As we all know that the images are a very responsive yet very creative way to display your web page or website to the users. The images also play a major role in indulging users to websites or web pages. T…