Linux下MySQL安装配置

安装MySQL

  Ubuntu系统中,直接使用apt install的方式去安装MySQL的服务端和客户端,MySQL的客户端必须安装,否则无法通过命令连接并操作MySQL。安装命令如下:

  apt install -y mysql-server mysql-client

 

管理MySQL服务

  启动、停止和重启服务

  启动服务:service mysql start

  停止服务:service mysql stop

  重启服务:service mysql restart

  查看MySQL当前状态

  \s或者status命令查看MySQL的当前状态。

  查看MySQL的具体状态信息

> show variables like 'max_connections';    # 查看最大连接数配置

+-----------------+-------+

| Variable_name   | Value |

+-----------------+-------+

| max_connections | 151   |

+-----------------+-------+

> show global status like 'max_used_connections';    # 查看当前已有的连接数

+----------------------+-------+

| Variable_name        | Value |

+----------------------+-------+

| Max_used_connections | 1     |

+----------------------+-------+

> show variables like 'innodb_buffer_pool_size';    # 查询innodb缓存池大小

+-------------------------+-----------+

| Variable_name           | Value     |

+-------------------------+-----------+

| innodb_buffer_pool_size | 134217728 |

+-------------------------+-----------+

> show status like 'innodb_rows_%';    # 查看到目前为止innodb表引擎执行的增删改查次数

+----------------------+-------+

| Variable_name        | Value |

+----------------------+-------+

| Innodb_rows_deleted  | 0     |

| Innodb_rows_inserted | 0     |

| Innodb_rows_read     | 8     |

| Innodb_rows_updated  | 0     |

+----------------------+-------+

MySQL配置文件

  Ubuntu系统中,MySQL的配置文件在/etc/mysql/mysql.cnf中,打开/etc/mysql目录下的mysql.cnf配置文件后,发现MySQL配置文件被移动到了/etc/mysql/mysql.conf.d目录中,新的配置文件为该目录下的mysqld.cnf文件。打开mysqld.cnf配置文件,可以看到如下配置项。下面对几个比较常用的配置项详细说明。

[mysqld]    # 服务端配置

port            = 3306    # 端口

basedir         = /usr    # MySQL应用程序所在位置

datadir         = /var/lib/mysql    # mysql中创建的数据库所在位置

tmpdir          = /tmp

lc-messages-dir = /usr/share/mysql

skip-external-locking

bind-address            = 127.0.0.1    # 绑定的主机,这里表示只能在本地主机访问

#max_connections        = 100    # 最大连接数,可选

#log_slow_queries       = /var/log/mysql/mysql-slow.log    # 慢查询日志记录文件的位置

#long_query_time = 2    # 需要慢查询记录的上限时间

#innodb_buffer_pool_size = 3G    # InnoDB缓存池大小,影响mysql的性能,默认没有,需要自己添加

MySQL的几个重要目录

MySQL安装完成后不像SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录。

数据库(MySQL自带和用户创建的数据库)目录:

/var/lib/mysql/

配置文件目录:

/usr/share/mysql(mysql.server命令及配置文件)

MySQL相关命令:

/usr/bin(mysqladmin mysqldump等命令)

启动脚本:

/etc/rc.d/init.d/(启动脚本文件mysql的目录)

修改登录密码

MySQL默认没有密码,安装完毕后需要自行增加密码。

格式:mysqladmin -u用户名 -p旧密码 password 新密码

命令:usr/bin/mysqladmin -u root password 'new-password'

注:因为初始root没有密码,所以-p旧密码一项可以省略。

这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。

启动与停止

启动

MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。

]# /etc/init.d/mysql start

停止

/usr/bin/mysqladmin -u root -p shutdown

自启动

察看mysql是否在自动启动列表中

# sbin/chkconfig --list

把MySQL添加到系统的启动服务组里面去

# sbin/chkconfig --add mysql

把MySQL从启动服务组里面删除。

# sbin/chkconfig --del mysql

更改MySQL目录

MySQL默认的数据库文件存储目录为/var/lib/mysql,假如要把目录移到/home/data下需要进行下面几步。

home目录下建立data目录:

cd /home

mkdir data

把MySQL服务进程停掉:

/usr/bin/mysqladmin -u root -p shutdown

把/var/lib/mysql整个目录移到/home/data:

mv /var/lib/mysql /home/data/

找到my.cnf配置文件:

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:

]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

编辑MySQL的配置文件/etc/my.cnf:

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。

修改MySQL启动脚本/etc/rc.d/init.d/mysql:

修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

重新启动MySQL服务:

/etc/rc.d/init.d/mysql start

修改数据库默认字符集

安装后的数据库编码默认是latin1,以utf-8为例,修改字符集.

登录数据库后,使用命令show variables like 'character%' 可以查看数据库使用字符集的情况,下面是在没有修改前mysql的字符集设置:

> show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | utf8                       |

| character_set_connection | utf8                       |

| character_set_database   | latin1                     |

| character_set_filesystem | binary                     |

| character_set_results    | utf8                       |

| character_set_server     | latin1                     |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

要把字符集换成utf-8的,我们只要修改mysql的配置文件my.cnf,在其中加入下面的配置段即可。

在[client]下加入:

default-character-set = utf8

在[mysqld]下加入:

init_connect = 'SET NAMES utf8'

default-character-set = utf8

default-collation = utf8_general_ci

完成上面的修改,保存后重启。

service mysql restart

Linux下MySQL安装及配置的更多相关文章

  1. Linux下MySQL安装和配置

    --Linux下MySQL安装和配置 ---------------------------2014/05/18 Linux下MySQL的配置和安装 本文的安装采用 rpm 包安装 1.首先在官网下载 ...

  2. linux 下 mysql安装和配置

    最近在学习R语言,看到R与数据库交互这一部分,就自己动手实践了一下,数据库选择的是mysql,主要记录下linux下怎么安装mysql. 网上的很多资料都有相关的文章,这里只是记录下自己安装过程中遇到 ...

  3. Linux下Mysql安装(RPM安装)

    1. 首先检查机器里是否已经存在MySQL $ rpm -qa | grep mysql 2. 去官网下载相应的rpm包:https://dev.mysql.com/downloads/mysql/ ...

  4. Linux 下 mysql的基本配置

    Linux 下 mysql的基本配置 2013年02月27日 ⁄ MySQL ⁄ 共 3000字 ⁄ 暂无评论 ⁄ 被围观 2,483 views+ 1. Linux mysql安装:    $ yu ...

  5. linux下MySQL安装登录及操作

    linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...

  6. redis 在Linux下的安装与配置

    redis在Linux下的安装与配置 by:授客  QQ:1033553122 测试环境 redis-3.0.7.tar.gz 下载地址: http://redis.io/download http: ...

  7. linux下activemq安装与配置activemq-5.15.2

    linux下activemq安装与配置 前提 配置好jdk环境   一.下载:apache-activemq-5.15.2-bin.tar.gz https://archive.apache.org/ ...

  8. python在windows和linux下的安装和配置

    一.windows下安装python3.6 安装编辑器:Ecplise+pydev插件 Eclipse是写JAVA的IDE, 这样就可以通用了,学习代价小.  学会了Eclipse, 以后写Pytho ...

  9. Tomcat——Linux下的安装和配置

    Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54. 1.下载JD ...

随机推荐

  1. DO、PO、BO、DTO、VO等概念

    PO 全称为:Persistant Object,持久化对象,与数据库结构映射的实体,数据库中的一条数据即为一个 PO 对象. BO 全称为:Business Object,业务对象,主要作用是把业务 ...

  2. 内存分配详解 malloc, new, HeapAlloc, VirtualAlloc,GlobalAlloc

    很多地方都会使用内存,内存使用过程中操作不当就容易崩溃,无法运行程序,上网Google学习一下,了解整理下他们之间的区别以及使用 ,获益匪浅 0x01 各自的定义和理解 (1)先看GlobalAllo ...

  3. poj 1987 节点距离小于等于K(树DP)

    这题和poj 1741是一模一样的 但是1741能AC的代码,在这里却是TLE,暂时没看出哪里出现了问题.. AC代码: #include <iostream> #include < ...

  4. Kindeditor单独调用单图上传增加预览

    html代码: <p><input type="hidden" id="url1" name="IDCardPicture1&quo ...

  5. C#队列Queue,利用队列处理订单

    一.什么是队列 队列(Queue)代表了一个先进先出的对象集合.当您需要对各项进行先进先出的访问时,则使用队列.当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队. 这是摘抄网上的.做了 ...

  6. python3线程介绍01(如何启动和调用线程)

    #!/usr/bin/env python# -*- coding:utf-8 -*- import osimport time,randomimport threading # 1-进程说明# 进程 ...

  7. IPV4基本知识介绍

    转自华为官网 1.1  介绍 定义 IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族.它工作在TCP/IP协议栈的网络层,该层与OSI参考 ...

  8. window下编译ffmpeg

    网上关于编译ffmpeg的帖子很多,我也尝试了很多次,但是很多都过不了,一部分原因是版本问题,还有就是有的路劲没说的太明白导致的,经过一天的摸索,最终编译好了,下面把编译方式写下来,希望对看到帖子的人 ...

  9. mmap内存映射

    http://blog.csdn.net/kongdefei5000/article/details/70183119 内存映射是个很有用,也很有意思的思想.我们都知道操作系统分为用户态和内核态,用户 ...

  10. 【转】WebSocket 是什么原理?为什么可以实现持久连接?

    WebSocket是HTML5出的东西 也就是说HTTP协议没有变化 但HTTP是不支持持久连接的(长连接,循环连接的不算)或者说WebSocket干脆就不是基于HTTP来执行的.但是...说不通啊. ...