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,一经查实,立即删除!

相关文章

将数组转换为JavaScript中的对象

Lets say you have the following array, 假设您有以下数组&#xff0c; const nums [1, 2, 3, 4, 5];console.log(nums);Output 输出量 (5) [1, 2, 3, 4, 5]We know that nums is an array and we can see in the output that we get an array. Lets convert it into an ob…

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批量雷达图_python批量制作雷达图

老板要画雷达图&#xff0c;但是数据好多组怎么办&#xff1f;不能一个一个点excel去画吧&#xff0c;那么可以利用python进行批量制作&#xff0c;得到样式如下&#xff1a;首先制作一个演示的excel&#xff0c;评分为excel随机数生成&#xff1a;1 INT((RAND()4)*10)/10加入标…

JavaScript中带有示例的Math.log()方法

JavaScript | Math.log()方法 (JavaScript | Math.log() Method) Math.log() is a function in math library of JavaScript that is used to return the value of natural Log i.e. (base e) of the given number. It is also known as ln(x) in mathematical terms. Math.log…

SUI踩坑记录

SUI踩坑记录 最近做了个项目选型了SUI和vue做单页应用。下面记录一下踩坑经历SUI 介绍 sui文档&#xff1a;http://m.sui.taobao.org/SUI Mobile 是一套基于 Framework7 开发的UI库。它非常轻量、精美&#xff0c;只需要引入我们的CDN文件就可以使用&#xff0c;并且能兼容到 i…

java 写入xml文件_java读写xml文件

要读的xml文件李华姓名>14年龄>学生>张三姓名>16年龄>学生>学生花名册>package xml;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.util.Iterator;import java.util.Vector;import javax.xml.pa…

JavaScript中带有示例的Math.max()方法

JavaScript | Math.max()方法 (JavaScript | Math.max() Method) Math.max() is a function in math library of JavaScript that is used to return the greatest value of all the passed values to the method. Math.max()是JavaScript数学库中的函数&#xff0c;用于将所有…

java 修饰符默认_Java和C#默认访问修饰符

C#中&#xff1a;针对下面几种类型内部成员的访问修饰符&#xff1a;enum的默认访问修饰符&#xff1a;public。class的默认为private。interface默认为public。struct默认为private。其中&#xff1a;public可以被任意存取&#xff1b;protected只可以被本类和其继承子类存取&…

JavaScript中带有示例的Math.abs()方法

JavaScript | Math.abs()方法 (JavaScript | Math.abs() Method) Math operations in JavaScript are handled using functions of math library in JavaScript. In this tutorial on Math.abs() method, we will learn about the abs() method and its working with examples.…

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

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

c# reverse_清单 .Reverse()方法,以C#为例

c# reverseC&#xff03;List <T> .Reverse()方法 (C# List<T>.Reverse() Method) List<T>.Reverse() method is used to reverse the all list elements. List <T> .Reverse()方法用于反转所有列表元素。 Syntax: 句法&#xff1a; void List<T&…

cpuinfo详解

cat /proc/cpuinfo processor: 23&#xff1a;超线程技术的虚拟逻辑核第24个 ###一般看最后一个0...23 表示24线程 vendor_id: GenuineIntel&#xff1a;CPU制造商cpu family: 6&#xff1a;CPU产品系列代号model: 44&#xff1a;CPU属于其系列中的哪一代号model name: Intel…

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…

java项目没有bin_WebAPI项目似乎没有将转换后的web.config发布到bin文件夹?

我很擅长.NET配置转换 . 我现在将它们放在用于数据使用的类库和WPF应用程序上 .但是&#xff0c;当我尝试使用ASP.NET WebAPI项目进行设置时&#xff0c;似乎发生了一些奇怪的事情 .配置文件永远不会显示在我的bin目录中&#xff0c;因此web.config始终显示为预先形成的配置文件…

opengl es的射线拾取

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

java timezone_Java TimeZone useDaylightTime()方法与示例

java timezoneTimeZone类useDaylightTime()方法 (TimeZone Class useDaylightTime() method) useDaylightTime() method is available in java.util package. useDaylightTime()方法在java.util包中可用。 useDaylightTime() method is used to check whether this time zone u…

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

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

某个JAVA类断点无效_解决eclipse中断点调试不起作用的问题

最近几天&#xff0c;遇到了一个问题&#xff0c;就是在eclipse中进行断点调试程序到时候&#xff0c;跟踪不到我设置的断点。困惑了很久&#xff0c;在网上也查阅了很多资料&#xff0c;都没能解决我的问题。今天早上&#xff0c;我试着把eclipse的工作空间重新换了一个&#…

jquery中阻止事件冒泡的方法

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