mysql的介绍安装

mysql的简介

概述

  就是一个关系型数据库管理系统,由瑞典MYSQL AB公司开发,目前属于Oracle公司。

mysql是开源的。所以你不需要支付额外的费用

mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的mysql系统。

mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

mysql的安装

 

mysql5.5

 

  下载地址:https://dev.mysql.com/downloads/mysql/

  国内的下载的镜像地址我推荐使用清华镜像地址:https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/

检查工作

检查当前的系统是否安装过mysql

在centOS6中

 rpm -qa | grep mysql

rpm命令是是RPM软件包的管理工具,

其中-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;

-a:查询所有套件;

-e<套件档>或--erase<套件档>:删除指定的套件;

 如果存储mysql-libs的旧版本包如下:

mysql的介绍安装

 

 

 

请先执行卸载命令:rpm -e --nodeps mysql-libs

在centOS7中

  rpm -qa | grep mariadb

如果存储如下:

mysql的介绍安装

 

 请先执行卸载命令:rpm -e --nodeps mariadb-libs

 

检查/tmp文件夹的权限

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限

  执行: chmod -R 777 /tmp (如果你是在root用户下操作的,可以省略)

安装

首先把安装包上传到linux服务器上。我这个版本我放在了/opt 目录下。

  /opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Software,opt有可选的意思

在mysql的安装目录下执行:

rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm   (安装客户端)

rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm  (安装服务端)

安装完设置初始化的密码:

mysql的介绍安装

 

 mysqladmin -u root password ‘你的密码‘

mysql的安装位置

在linux中查看安装目录:ps -ef | grep mysql

参数 路径 解析 备注
--basedir /usr/bin 相关命令目录

mysqladmin

mysqldump等命令

--datadir /var/lib/mysql/ mysql数据库文件的存放路径  
--plugin-dir /usr/lib64/mysql/plugin mysql插件存放路径  
--log-error /usr/lib64/mysql/jack.at***.err mysql错误日志路径  
--pid-file /var/lib/mysql/jack.**.pid 进程pid文件  
--socket /var/lib/mysql/mysql.sock 本地连接时用的unix套接字  
  /usr/share/mysql   配置文件目录 mysql脚本及配置文件
  /etc/init.d/mysql 服务启停相关脚本  

自启动:chkconfig mysql --list

 

开始使用

mysql -uroot -proot  (进入mysql命令窗口)

显示数据库:show databases

创建一个数据库:create database mydb

使用其中的一个库 :user mydb

创建表:crate table mytable(id int , name varchart(200));

插入数据:insert into mytable values(1,‘张三‘);

查询数据:select * from mytable;

发现出现了乱码mysql的介绍安装

 

 

显示字符集:show varables like ‘character%‘;

 

mysql的介绍安装

 

 

 

 

 

 修改字符集

cd /usr/share/mysql/  发现很多mysql的配置

拷贝my-huge.conf 到 /etc/

在/usr/share/mysql/目录下执行

cp my-huge.cnf /etc

重命名

mv my-huge.conf my.cnf

修改my-cnf文件:

[client]

default-character-set=utf8

[mysqld]

character_set_server=utf8

character_set_client=utf8

collation-server=utf8_general_ci

[mysql]

default-character-set=utf8

使用vi 命令打开文件: vi my.cnf 把上面的配置加上去。ctrl+: 输入wq!保存退出。

重启mysql服务

service mysql restart (如果没有配置错误就可以了)

进去查询那条数据还是乱码的,因为开始的时候就是以拉丁的字符集创建的,现在改成utf8还是乱码的。需要把这条数据更新或者删除才可以解决。

 

现在远程连接mysql发现还是连接不上的。

mysql > GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘数据库的密码‘ WITH GRANT OPTION;    就可以远程连接了

mysql的用户和权限管理

mysql的用户管理

创建用户

create user zhangsan identified by ‘123456‘  (表示创建名称为张三的用户,密码设为123456)

了解用户表

查看用户:

select host,user,password,select_priv,insert_priv,drop_priv from mysql.user,

mysql的介绍安装

 

 host :  表示连接类型

  %表示所有远程通过TCP方式连接

  IP地址 如(192.168.0.147,127.0.0.1)通过指定ip地址进行的TCP方式的连接

  机器名  通过制定网络中的机器名进行TCP方式的连接

  ::1 IPV6的本地地址  等同与IP4的127.0.0.1

  localhost  本地方式通过命令方式的连接。比如mysql -uxxx -p123xxx方式的连接。

User:  表示用户名

  同一用户通过不同方式连接的权限是不一样的。

password  密码

  所有密码串通过password(明文字符串)生成的密文字符串。加密算法为MYSQLSHA1.不可逆。

  mysql5.7的密码保存到authentication_string字段中不再使用password字段。

设置密码

修改当前用户密码

set password =password(‘123456‘)

修改某个用户密码:

update mysql.user set password=password(‘123456‘) where user=‘用户名称‘

flush privileges;  #所有通过user表的修改,必须用该命令才能生效。

修改用户

修改用户名:

  update mysql.user set user=‘lisi‘ where user=‘wangwu‘;

  flush privileges;  #所有通过user表的修改,必须用该命令才能生效。

删除用户

drop user 用户名称;

 

权限管理

授予权限

授权命令:grant 权限1,权限2,...权限n on 数据库名称.表名称to用户名@用户地址 identified by ‘连接口令’;

该权限如果发现没有该用户,则会直接新建一个用户。

比如:

  grant select,insert,delete,drop on atfycdb.* to lisi@localhost ;(给lisi用户用本地命令行方式下,授予atfycdb这个库下的所有表的插删该查的权限)

  grant all privileges on *.* to fyc@‘%‘ identified by ‘123‘;(#授予通过网络方式登陆的fyc用户,对所有库的所有表的全部权限,密码设为123)

 

收回权限

收回权限命令 revoke 权限1,权限2,... 权限n on 数据库名称.表名称 from 用户名@用户地址;

revoke all privileges

查看权限

查看当前用户权限: show grants;

 

通过工具远程访问

专项配置

索引的介绍

mysql的存储引擎

 
 

 

mysql的介绍安装

上一篇:MySQL中死锁


下一篇:PG存储介质管理器(SMGR)——磁盘管理器:postgresql-8.4.1/src/backend/storage/md