您的位置:新葡亰496net > 网络数据库 > 新葡亰496netLinux更改MySQL数据库目录位置具体操作

新葡亰496netLinux更改MySQL数据库目录位置具体操作

发布时间:2019-11-04 03:14编辑:网络数据库浏览(181)

    1  概述

    在合龙项目中须求应对不一致情状下的安装配备,主流操作系统大约能够分为两种:Linux、Windows以至UNIX。个中Linux十分受推崇的机要缘由有五个:

    先是,Linux作为自由软件有二日性子:一是它免费提供源码,二是爱好者能够根据本人的内需自由改革、复制和揭露程序的源码,并表露在Internet上。那就引发了世界各州的操作系统高手为Linux编写五颜六色的驱动程序和使用软件,使得Linux成为后生可畏种不独有只是叁个内核,何况包罗系统管理工科具、完整的支付条件和开辟工具、应用软件在内,客户超轻松得到的操作系统。

    说不上,究其一向,Linux是三个UNIX系统变种,因而也就有所了UNIX系统的一多元能够性状,UNIX上的行使能够很有利地移植到Linux平台上,那使得UNIX客户超轻松精通Linux。

    新葡亰496net,基于Linux的安全可靠、功效高、免费、卓越的网络援救、与UNIX完全合营等方面的设想,Linux算是最常用的生龙活虎种。那样,在档案的次序中就能够有在Linux下安装数据库的须求,举例Oracle、MySQL等。本文主要介绍在Linux情况下安装MySQL数据库的两种办法,以致MySQL数据库的相干配置步骤,当中山大学面积的一些问题也展销会开认证,最终会展现意气风发种比较分布的MySQL数据库的备份格局——双机热备。

    引言
    由于MySQL的数据库太大,私下认可安装的/var盘已经再也敬谢不敏宽容新添的数据,未有章程,只好想艺术转移数据的目录。

    在CentOS上把MySQL从5.5升级到5.6,centos5.6

    2  预期读者

    • 数通畅联新职员和工人

    • 遍布技术爱好者

    上面作者收拾一下把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql目录的具体操作: 

    在CentOS上把MySQL从5.5升级到5.6

    摘要:本文记录了在CentOS 6.3上,把MySQL从5.5.28晋级到5.6.19的进度。

    3  意况音信

    操作系统:CentOS 6.4

    MySQL:版本为MySQL5.6

    1、首先我们供给关闭MySQL,命令如下
    service mysqld stop
    2、然后是改换数据,为了安全之间,大家选拔复制命令cp,先找到mysql的原目录
    cd /var/lib
    ls
    运作这一个命令之后就拜会到mysql的目录了,然后实践cp命令
    cp -a mysql /home/mysql_data/ #那般就把数据库复制到/home/mysql_data上边去了

    1. 概述

    在自个儿做的三个品种中,近年来本人对生育服务器上的后生可畏种类系统软件拓宽了提拔,蕴涵Git、Nginx、MySQL和PHP。那篇文章讲的是提高MySQL的进度,其余软件的晋升,可以预知上边列出的篇章。

    • 在CentOS上把git从1.7.1升级到1.7.12.4
    • 在CentOS上把Nginx从1.2.4升级到1.6.0
    • 在CentOS上把MySQL从5.5升级到5.6 (本文)
    • 在CentOS上把PHP从5.4升级到5.5

    在小编参加那么些项目事先,服务器上的MySQL已经安装设置好了,笔者只是日常使用而已。今后病故1年了,应该适度提高服务器上的软件了。进级这种专门的学业是相应经常做的,倒不是为着追最新版本,而是当正规版本发放出去的时候,应该及时更新, 以便获得新型的纠正、补丁,制止服务器上的疏漏,减弱安全隐患。

    进级是在二〇一五年四月11-二一日进展的,到前不久才有空做个记录,便于日后参见。

    发轫在此之前,查找了成都百货上千材质,因为MySQL要比在此之前升高的Git和Nginx要复杂多了。小编在参照他事他说加以考察资料中列出了自己所能找到作为基于的文书档案,可供参考。

    4  名词解释

    Linux:Linux是后生可畏套无需付费使用和专断传播的类Unix操作系统,是三个基于POSIX和UNIX的多顾客、多职分、帮忙四十多线程和多CPU的操作系统。它能运行入眼的UNIX工具软件、应用程序和互联网合同。它援助三19人和六十贰人硬件。Linux世袭了Unix以互联网为基本的宏图观念,是壹性情质稳固的多顾客网络操作系统。

    CentOS:(CommunityEnterprise Operating System,汉语意思是:社区商厦操作系统卡塔尔国是Linux发行版之意气风发,它是发源于Red Hat Enterprise Linux遵照开放源代码规定释出的源代码所编写翻译而成。由于来自同黄金年代的源代码,因而有些须求中度牢固的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两个的两样,在于CentOS并不带有密封源代码软件。

    MySQL:MySQL是叁个关系型数据库管理系列,由SverigeMySQL AB 集团开辟,最近归于 Oracle 旗下产物。MySQL 最风靡的关系型数据库管理种类,在 WEB 应用方面MySQL是最棒的 GL450DBMS (Relational Database Management System,关周全据库处理连串) APP之生机勃勃。

    MYISAM:MySQL二种绳床瓦灶的贮存引擎之生龙活虎,特点是表数据文件和表索引文件都是独自寄存在,相符记录点滴二〇〇四万之下、并发量不是异常高的条件,切合简单的查询,不帮助专门的学业,轻巧并发数量错过,表损坏,常常要求修补,修复往往也形成数据错失,相符读多写少的条件

    INNODB:MySQL二种分布的积存引擎之生机勃勃,特点是表数据文件和表索引文件是一起八个文书,符合大规模数据,小圈圈的数码反而功能不高,适合并发量高的条件、复杂的询问,协理工作,扶助数据自动修复,保障了数额错失最少

    注意:(-a那些参数必定要带着,不然复制过去的权杖就狼狈了。卡塔尔

    2. 计划

    咱俩选拔的服务器是Ali云的,服务器的操作系统是CentOS 6.3。登录管理分界面,发掘共有两块物理硬盘,一块系统盘,一块数据盘,而大家只使用了系统盘,数据盘平素空着没用。所以,铺排就改为:

    5  操作步骤

    假如数据库比相当的大的话,时间会比较长,恐怕会晚点,具体怎么设置ssh不超时的主意,请大家自个儿找相关质感。
    3、然后我们改过配置文件,意气风发共有三个,下边作者逐个表明
    修正第五个文本:改善此前先备份cp /etc/my.cnf /etc/my.cnfbak
    vi /etc/my.cnf
    开采之后校勘datadir的目录为/home/mysql_data/mysql
    把socket改成/home/mysql_data/mysql/mysql.sock

    3. 加载数据硬盘

    下边包车型大巴操作必要以最好助理馆员root之处登入服务器举行操作。

    5.1  安装格局

    在CentOS上设置MySQL的章程大概能够分成两类,豆蔻梢头种是网络遭遇交通的气象下,能够透过YUM库联网安装,另豆蔻梢头种是透过地点上传MySQL介质媒质实行设置。

    #为了安全起见,你能够把本来的注释掉,然后重新参预生机勃勃行,改成未来的目录。

    改善第1个文本:改革早前先备份 cp /etc/init.d/mysqld /etc/init.d/mysqldbak
    vi /etc/init.d/mysqld
    留意:准确的职位是/etc/rc.d/init.d/mysqld,由于这里这里有叁个/etc/init.d到/etc/rc.d/init.d的映照,
    故而用地方的指令就可以,也简要。

    3.1 查看硬盘

    首先,查看硬盘使用状态:

    # fdisk -l
    
    Disk /dev/xvda: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
        Device Boot      Start         End      Blocks   Id  System
    /dev/xvda1   *           1        2550    20480000   83  Linux
    /dev/xvda2            2550        2611      490496   82  Linux swap / Solaris
    
    Disk /dev/xvdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    # df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/xvda1             20G  9.4G   11G  48% /
    tmpfs                 498M     0  498M   0% /dev/shm
    

    可以看看,逻辑盘/dev/xvda1是位于根目录(/),/dev/xvda2是系统缓存(swap)。第二块物理硬盘/dev/xvdb的大小是21.5 GB,未有加载和动用,大家能够把它加载,并把MySQL的数码迁移到第二块物理硬盘上,把对系统盘和数据库的硬盘访问分流,希望那样必然程度上得以抓好访问MySQL数据库的习性。

    5.1.1   yum远程安装

    • 查阅CentOS自带MySQL是不是已安装

    指令:yum list installed | grep mysql

    • 第生机勃勃须要卸载重视文件

    指令:例如yum -y remove mysql-libs.x86_64

    若有三个依附文件则相继卸载,当结果展现为Complete!即卸载完成

    • 查看yum库上的MySQL版本消息

    指令:yum list | grep mysqlyum -y list mysql*

    CentOS系统需求健康连接互连网

    • 通过yum安装MySQL

    指令:yum -y install mysql-server mysql mysql-devel

    • 设置时会展现有冲突文件,移除冲突的文本

    指令:例如yum -y remove MySQL-client-advanced-5.6.22*

    • 查询是或不是已设置MySQL

    rpm -qa|grep -imysql

    -i忽视大小写

    • 旗开得胜安装后,运行MySQL战败,需求查阅一下MySQL的日记新闻来定位错误原因

    less/var/log/mysqld.log

    • 启航MySQL服务,改进数据库密码

    mysql>update user set  password=password('YouPassword') where user='root';

    mysql>FLUSH PRIVILEGES;

    长途连接时,防火墙启用端口号

    指令:iptables -I INPUT -p tcp--dport 3306 -j ACCEPT

    把里面datadir=/var/lib/mysql意气风发行中,等号左侧的路子改成你以往的实际上存放路线:/home/mysql_data/mysql

    改正第多少个文件:校正早先先备份 cp /usr/bin/mysqld_safe /usr/bin/mysqld_safebak
    vi /usr/bin/mysqld_safe

    3.2 格式化数据硬盘

    格式化第二块物理硬盘:

    # mke2fs -j /dev/xvdb
    mke2fs 1.41.12 (17-May-2010)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    1310720 inodes, 5242880 blocks
    262144 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=4294967296
    160 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000
    
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 24 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    

    格式化顺遂完结。

    5.1.2   本地媒质安装

    • 先是下载MySQL安装包

    mysql-advanced-5.6.23-linux-glibc2.5-x86_64.tar.gz

    • 解压并置于安装文件夹下,在那之中须求接收的是

    MySQL数据库:MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm

    MySQL客户端:MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm

    • 安装前先反省是还是不是已设置MySQL

    指令:rpm -qa | grep mysql

    • 假定早前有安装过MySQL,要求删除已安装的MySQL

    指令:例如rpm -e --nodeps mysql-libs-5.1.47-4.el6.i686 

    双重检查是或不是已设置MySQL

    • 安装MySQL服务端

    指令:rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm

    Preparing...  ########################################### [100%]

    1:MySQL-server  ########################################### [100%]

    A RANDOM PASSWORD HAS BEEN SET FOR THE  MySQL root USER !

    You will find that password in  '/root/.mysql_secret'.

    You must change that password on your  first connect,

    no other statement but 'SET PASSWORD'  will be accepted.

    See the manual for the semantics of the  'password expired' flag.

    Also, the account for the anonymous user  has been removed.

    In addition, you can run:

    /usr/bin/mysql_secure_installation

    which will also give you the option of  removing the test database.

    This is strongly recommended for  production servers.

    See the manual for more instructions.

    Please report any problems at  http://bugs.mysql.com/

    The latest information about MySQL is  available on the web at

    http://www.mysql.com

    Support MySQL by buying support/licenses  at http://shop.mysql.com

    New default config file was created as  /usr/my.cnf and

    will be used by default by the server  when you start it.

    You may edit this file to change server  settings

    • 反省MySQL 3306端口是还是不是展开了

    指令:netstat –nat

    察觉还未3306的端口,表达MySQL服务还未有曾运转

    启动MySQL服务

    指令:service mysql start

    Starting MySQL.......... SUCCESS!

    开发银行成功后,再一次检查3306端口号

    • 安装顾客端

    指令:rpm -ivh MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm

    Preparing...  ########################################### [100%]

    1:MySQL-client  ^C########################################### [100%]

    这里也是改良datadir的目录为/home/mysql_data/mysql

    4、上面需求树立三个mysql.sock的链接
    ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock
    系统运行 温馨提醒:qihang01原创内容版权全体,转发请表明出处及原版的书文链接

    由来全数的校正都做到了,上边运行mysql
    service mysqld start
    抑或重启linux
    reboot
    纵然能健康运行,表达改革成功。

    3.3 加载数据硬盘

    下边,加载第二块物理硬盘为/data目录:

    # mount /dev/xvdb /data
    

    其一命令未有陈述,那时本人某个吃惊和颓丧。因为那繁多指令自身也都是首先次从网络查到,第叁遍使用,对于它们的输出和结果,都有意气风发种第一次坐过山车般的期望、喜悦、好奇和不分明,每次的出口对于本人都以新的,你不明白翻过面前这些坡之后会产出什么样!

    再用上面包车型地铁指令查看新的逻辑盘:

    # df -kh
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/xvda1             20G  9.3G   11G  48% /
    tmpfs                 498M     0  498M   0% /dev/shm
    /dev/xvdb              20G  173M   19G   1% /data
    

    能够见见/dev/xvdb是第二块物理硬盘!激动,成功了!

    用下边包车型地铁指令查看加载(mount)的品种:

    # mount
    /dev/xvda1 on / type xfs (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    /dev/xvdb on /data type ext3 (rw)
    

    到此处,第二块物理硬盘加载成功,上边该yum出场了。

    5.2   配置进程

    你只怕感兴趣的稿子:

    • CentOS 6.4安装配备LAMP服务器(Apache PHP5 MySQL)
    • CentOS Nginx PHP MySQL详细陈设(图解)
    • CentOS 6.4安装配置LNMP服务器(Nginx PHP MySQL)
    • centos6利用yum安装php mysql gd的步骤
    • CentOS 5.5下安装MySQL 5.5全经过分享
    • CentOS系统中PHP和MySQL的晋级方法
    • 在CentOS 6 中安装WordPress(一) 安装Apache,Mysql, PHP环境
    • centos 上面安装python2.7 pip mysqld
    • CentOS Linux 下布署Apache2 PHP5 MySQL5 GD库的章程
    • CentOS 5.4 服务器配置 yum安装Apache php Mysql
    • CentOS 6.5下yum安装 MySQL-5.5全经过图像和文字化教育程
    • centos7安装mysql并jdbc测量试验实例详明

    4. 升级MySQL的计划

    害羞,yum同学,制片人说你还要等下生龙活虎幕。

    提拔MySQL时,又做了三个陈设:

    • 无庸置疑,首先要备份全体的数据库数据
    • 安排A: 使用参谋资料[6]的秘籍,增加安装库,用yum update进级
    • 计划B: 用yum卸载MySQL 5.5,再安装MySQL 5.6

    5.2.1   备份形式

    MySQL的常用备份情势可分为三种:

    •  逻辑备份

    优点:最大好处是力所能致与正在运作的MySQL自动合作专门的学问,在运营时期能够确定保证备份是立时的点,它会自动将相应操作的表锁定,不容许别的顾客改良(只可以访问),可能会阻止纠正操作,SQL文件通用方便移植。

    缺点:备份的进程相当慢,要是是数据量非常多的时候,就很耗费时间间。要是数据库服务器处在提要求客户服务状态,在这里段长期操作进度中,意味着要锁定表(经常是读锁定,只好读不能写入数据),那么服务就能影响的。

    • 概况备份

    平素拷贝只适用于MYISAM类型的表。那系列型的表是与机械和工具独立的。但实则意况是,设计数据库的时候不或许整个应用MYISAM类型表。也不容许:因为MYISAM类型表与机械和工具独立,方便移植,于是就分选这种表,那并不是筛选它的理由。

    缺点:无法去操作正在运营的MySQL服务器(在拷贝的历程中有顾客通过应用程序访谈更新数据,那样就不能备份那时候的数量)也许无法移植到其余机器上去。

    更加的多的处境是,会依靠作业性格(譬喻需求支持职业机制就务须选用INNODB),查询速度和劳动性质来挑选表类型的。

    • 双机热备份

    MySQL数据库未有增量备份的编写制定。当数据量太大的时候备份是二个极大的问题。辛亏MySQL数据库提供了生龙活虎种为主备份的体制(相当于双机热备)

    优点:切合数据量大的时候。大的互连网公司对此MySQL数据备份,都以使用热机备份。搭建多台数据库服务器,举办主从复制。

    完毕机制:对此贰个MySQL服务器,平时常有七个线程来担负复制和被复制。当张开复制之后:

    • 用作主服务器Master,会把温馨的每三回变动都记录到二进制日志 binlog 中。(从服务器会肩负来读取那些log,然后在本身那里再实行一次。卡塔 尔(阿拉伯语:قطر‎

    • 用作从服务器Slave,会用master上的账号登入到master上,读取master的binlog,写入到和煦的连通日志 Relaylog,然后本人的SQL线程会担负读取那个中继日志,并推行叁次。 

    在伪造双机热备时,须要介意,日常意义上的双机热备都会有叁个切换进程,那个切换进度大概是一分钟左右。在切换进程中,服务是有非常的大希望长时间暂停的。不过,当切换完结后,服务将常规苏醒。因而,双机热备不是无缝、不中断的,但它能够确认保障在产出系统故障时,能够高效苏醒符合规律的劳务,业务不致受到震慑。而只要未有双机热备,则只要现身服务器故障,或者会自但是然多少个小时的服务中断,对事情的震慑就恐怕会形成很严重的损失。

    5. 计划A: yum update

    下边超过二分一下令都急需在一流助理馆员root的权柄下运作。

    5.2.2   配置步骤

    条件要求:

    1. 主数据库(Master卡塔尔国IP:10.254.1.248

    2. 备份数据库(Slave卡塔尔IP:10.254.1.249

    3. 备份前保障七个数据库的多寡风流倜傥致

    Master端

    • 进去MySQL命令行, 给备份主机给予复制权限,即备份主机使用顾客名backup,密码123456就能够接连到主服务器,backup就是同步账号

    grant file,select,replication slave on  *.* to backup@10.254.1.249 identified by '123456';

    • 修正配置文件my.cnf[mysqld]:

    sevice-id=1

    log-bin=mysql-bin --------------打开日志开关,二进制日志文件

    max_binlog_size=104857600

    binlog_format=mixed--------日志模式row level和statement level的结合

    binlog-do-db= aeaiesb -------------在aeaiesb库进行的操作记录二进制日志文件,而不是对aeaiesb库的操作

    binlog-ignore-db=mysql  --------------------忽略对mysql库的操作,即不记录到日志中

    • 查看master状态

    在MySQL命令行:

    show master status

    mysql> show master status;

    ---------------------- ----------- ------------------ ------------------

    | File         | Position | Binlog_Do_DB |  Binlog_Ignore_DB |

    ---------------------- ----------- ------------------- ------------------

    | mysql-bin.000013 |     1150 | aeaiesb | mysql    |

    ----------------------- ---------- ------------------ ------------------

    1 row in set (0.00 sec)

    结果表示以后写日记的文本是mysql-bin.000013,地点是1105,slave端要从那几个点起来同盟备份aeaiesb

    slave端

    • 停掉数据库

    service mysql stop

    • 校勘配置文件my.cnf,增加如下配置

    server-id=2

    replicate-same-server-id

    master-host=10.254.1.248

    master-user=backup

    master-password=123456

    master-port=3306

    master-connect-retry=60 ----重复连接时间间隔

    replicate-do-db=aeaiesb---同步master的aeaiesb库

    relay-log=miniweb2-relay-bin----设置I/O线程读master的binlog并写入本地的文件名,即为relay-log

    • 重启数据库

    service mysql start

    • 在MySQL命令行, 查看slave状态

    mysql> show slave status/G;

    ***************************  1. row ***************************

    Slave_IO_State:

    Master_Host: 10.254.1.248

    Master_User: backup

    Master_Port: 3306

    Connect_Retry: 60

    Master_Log_File: mysql_bin.000013

    Read_Master_Log_Pos: 1105

    Relay_Log_File:  localhost-relay-bin.000001

    Relay_Log_Pos: 4

    Relay_Master_Log_File: mysql_bin.000013

    Slave_IO_Running: No

    Slave_SQL_Running: Yes

    Replicate_Do_DB: aeaiesb

    • 这时 Slave_IO_Running的值是No,I/O线程未有运行,是不可能進展协同的管理步骤:

    1) 在命令行下:

    (1)slave stop;

    (2)change master to  master_host='10.254.1.248',master_user='backup',master_password='123456',master_log_file='mysql-bin.000014',master_log_pos=1150  ;(前面查看的master状态)

    (3)slave start;

    (4)show slave status;

    mysql>  show slave status/G;                                                                                                          *************************** 1. row ***************************

    Slave_IO_State: Waiting for master to  send event

    Master_Host: 10.254.1.248

    Master_User: backup

    Master_Port: 3306

    Connect_Retry: 60

    Master_Log_File: mysql-bin.000013

    Read_Master_Log_Pos: 1105

    Relay_Log_File:  localhost-relay-bin.000002

    Relay_Log_Pos: 251

    Relay_Master_Log_File: mysql-bin.000013

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    Replicate_Do_DB: aeaiesb

    那般就足以拓宽同步了,在master的aeaiesb库中创立表,并插入数据会实时在slave端显示。

    5.1 备份全数的数据库

    用mysqldump来备份全体的数据库数据:

    # mysqldump -u <db管理员用户名> -p --all-databases > 2014-06-12_all-db.sql
    

    会提示输入密码,然后2016-06-11_新葡亰496netLinux更改MySQL数据库目录位置具体操作,CentOS系统MySQL双机热备配置。all-db.sql正是备份数据,假如不想放在当前目录下,能够在上边包车型大巴命令行上点名路径。

    理所必然,也提出您独自备份每一个顾客数据库:

    # mysqldump -u <db管理员用户名> -p mydb > 2014-06-12_mydb.sql
    

    稳当保存这么些相当关键的数据库备份文件。

    5.3   见惯不惊难点

    5.2 查看MySQL的版本

    用上边包车型大巴指令查看MySQL的版本:

    # mysql --version
    mysql  Version 14.14 Distrib 5.5.28, for Linux (x86_64) using reeadline 5.1
    

    看得出,当前的MySQL的版本是5.5.28。

    5.3.1   更正MySQL数据存款和储蓄地方

    第生龙活虎,MySQL安装实现后不像 SQLServer 暗中同意安装在八个索引,它的数据库文件、配置文件和下令文件分别在分裂的目录,领悟那一个目录特别主要,越发对于Linux的初读书人,因为 Linux本人的目录结构就比较复杂,即使搞不清楚MySQL的安装目录那就无法提及深刻学习。

    a、数据库目录     /var/lib/mysql/

    b、配置文件         /usr/share/mysql(mysql.server命令及陈设文件卡塔尔

    c、相关命令         /usr/bin(mysqladmin mysqldump等一声令下)

          d、运转脚本          /etc/rc.d/init.d/(运行脚本文件mysql的目录卡塔尔

    说不上,由于MySQL数据库目录占用磁盘非常的大,而MySQL暗中同意的数据文件存款和储蓄目录为 /"var/lib/mysql",也得以把要把多少目录移到"/" 根目录下的 "mysqldata" 目录中

    • 率先甘休MySQL服务

    极限实施命令

    /etc/init.d/mysql  stop

    • 在尖峰将原来mysql数据库目录文件全部都复制到新的数据库目录下

    cp -r /var/lib/mysql  /disk1/mysqldata

    • 改良my.cnf配置文件

    先备份,再修改

    cp /etc/my.cnf  /etc/my.cnfbak

    vi /etc/my.cnf

    在开荒的文件中找到datadir那行代码,查看后边的路径,做备份(在这里行代码前加#)

    原路径:/var/lib/mysql

    新路径:/disk1/mysqldata

    • 修改mysqld

    先备份,再修改

     cp /etc/init.d/mysqld /etc/init.d/mysqldbak

    vi  /etc/init.d/mysqld

    datadir原路径:/var/lib/mysql

    datadir新路径:/disk1/mysqldata

    • 修改mysqld_safe文件

    cp /usr/bin/mysqld_safe  /usr/bin/mysqld_safebak

    vi  /usr/bin/mysqld_safe 

    datadir原路径:/var/lib/mysql

    datadir新路径:/disk1/mysqldata

    • 确立一个mysql.sock的链接

    ln -s /disk1/mysqldata  /mysql.sock /var/lib/mysql/mysql.sock 

    • 重启服务

    service mysqld  start 

    • 跻身MySQL命令行查询数据文件目录地址

    mysql> show variables like '%dir%';

    5.3 添加MySQL的yum安装库

    那是参照仿效资料[7]来做的,后来察觉[6]的办法越来越好:

    # wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
    # rpm -ivh mysql-community-release-el6-5.noarch.rpm
    # yum list | grep mysql
    

    如此超级多改过的MySQL安装包就都有了。

    如有供给,运转上面包车型地铁授命确认保证yum安装库是风靡的:

    # yum update mysql-community-release
    

    5.3.2   运转失败或许的失实原因

    透过查阅MySQL日志时发掘Table ‘mysql.plugin’ doesn’t exist那样的标题,这是因为新装置的MySQL必要发轫化数据库

    解决步骤:

    1) 步入./mysql/bin目录下,实践脚本./mysql_install_db;

    新葡亰496netLinux更改MySQL数据库目录位置具体操作,CentOS系统MySQL双机热备配置。2) 试行完(1卡塔尔后,那时候会在./mysql/var目录下成立多个目录文件mysql、test;

    3) 订正mysql、test三个目录及目录下具备文件的权限:

    指令:chown mysql:mysql -R mysql test

    • 日志报错

    mysqld_safe Starting mysqld daemon with  databases from /var/lib/mysql

     [Warning] Can't create test file  /var/lib/mysql/localhost.lower-test

    [Warning] Can't create test file  /var/lib/mysql/localhost.lower-test

    /usr/sbin/mysqld: Can't change dir to  '/var/lib/mysql/' (Errcode: 13)

     [ERROR] Aborting

     [Note] /usr/sbin/mysqld: Shutdown complete

    率先关闭selinux服务

    cd /etc/selinux

    vi config

    改进selinux为disabled,重启机器

    • 运转失利时

    Fatal error: Can't open and lock  privilege tables: Table 'mysql.host' doesn't exist

    运用命令

    mysql_install_db --user=mysql 

    开始化命令

    • 启动MySQL成功后,登录时

    ERROR 1045 (28000): Access denied for  user 'root'@'localhost' (using password: YES)   

    亟待重新载入参数密码

    1) 首先截至MySQL服务

    service mysql stop  

    2) 用mysqld_safe重启服务

    /usr/bin/mysqld_safe --skip-grant-tables

    3) 无密码登录

    mysql –u root

    4) 授权

    grant all privileges on *.* to  'root'@'localhost' identified by '密码' with grant  option;

    • 授权新的数据库文件寄放地方

    chown -R mysql:mysql /disk1/mysqldata

    5.4 用yum查看MySQL安装相关消息

    用上边包车型大巴通令查看安装了怎么着:

    # yum list installed | grep ^mysql
    mysql-community-release.noarch
    

    当中,^mysql是指以mysql先导的安装包。

    用下边包车型地铁通令查看安装了的和可用的安装包:

    # yum info mysql-server
    Installed Packages
    Name        : MySQL-Server
    Arch        : x86_64
    Version     : 5.5.28
    Release     : 1.linux2.6
    Repo        : installed
    Available Packages
    Name        : mysql-server
    Arch        : x86_64
    Version     : 5.1.73
    Release     : 3.el6_5
    Repo        : updates
    

    此处不明了干什么可用的安装包未有显得MySQL 5.6的。

    检查可用的安装包:

    # yum check-update mysql-server
    Obsoleting Packages
    mysql-community-client.x86_64      5.6.19-2.el6           mysql56-community
        MySQL-client.x86_64            5.5.28-1.linux2.6      installed
    mysql-community-devel.x86_64       5.6.19-2.el6           mysql56-community
        MySQL-devel.x86_64             5.5.28-1.linux2.6      installed
    mysql-community-server.x86_64      5.6.19-2.el6           mysql56-community
        MySQL-server.x86_64            5.5.28-1.linux2.6      installed
    

    看得出,MySQL 5.6的设置包都算community版本了。

    6  相关链接

    CentOS镜像下载:

    5.5 晋级MySQL及其零器件

    运转下边包车型客车吩咐:

    # yum update mysql-server
    Dependencies Resolved
    
    ================================================================================
     Package                   Arch      Version         Repository            Size
    ================================================================================
    Installing:
     mysql-community-client    x86_64    5.6.19-2.el6    mysql56-community     18 M
         replacing  MySQL-client.x86_64 5.5.28-1.linux2.6
     mysql-community-server    x86_64    5.6.19-2.el6    mysql56-community     52 M
         replacing  MySQL-server.x86_64 5.5.28-1.linux2.6
    Installing for dependencies:
     mysql-community-common    x86_64    5.6.19-2.el6    mysql56-community    298 k
     mysql-community-libs      x86_64    5.6.19-2.el6    mysql56-community    1.9 M
    
    Transaction Summary
    ================================================================================
    Install       4 Package(s)
    

    背后的出口省略了。可以看到有4个安装包(共70多MB)要下载、安装。结果,下载用了80分钟。

    但安装遇到标题了:

    Running rpm_check_debug
    Running Transaction Test
    
    
    Transaction Check Error:
      file /usr/bin/mysql_config from install of mysql-community-client-5.6.19-2.el6
    .x86_64 conflicts with file from package MySQL-devel-5.5.28-1.linux2.6.x86)64
    
    Error Summary
    -------------
    

    能够看出出错了,搜索了后生可畏阵儿,也没搞驾驭。随时结束A计划(和成龙先生的摄像不妨),改用B安顿。

    6. 安插B: 用yum卸载再安装

    能够预期,这么些安插要多折磨一些。还是要求在一流管理员root的权柄下运作上面包车型的士吩咐。

    6.1 停止web服务器

    此时为了防止顾客访谈网址时,见到数据库连接退步那样的错误音讯。到此时小编才回想那一点来,依旧对客户关心相当不够,应该在有非常大也许宕掉网址的操作以前就做的。

    因为运用的是Nginx,所以运营上边包车型的士授命:

    # service nginx stop
    Stopping nginx:                                            [  OK  ]
    

    6.2 卸载MySQL 5.5.28

    累加有3个包要卸载。

    先卸载mysql-server包:

    # yum remove mysql mysql-server
    Dependencies Resolved
    
    ================================================================================
     Package            Arch         Version                  Repository       Size
    ================================================================================
    Removing:
     MySQL-server       x86_64       5.5.28-1.linux2.6        installed       153 M
    
    Transaction Summary
    ================================================================================
    Remove        1 Package(s)
    
    Installed size: 153 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Warning: RPMDB altered outside of yum.
      Erasing    : MySQL-server-5.5.28-1.linux2.6.x86_64                        1/1
      Verifying  : MySQL-server-5.5.28-1.linux2.6.x86_64                        1/1
    
    Removed:
      MySQL-server.x86_64 0:5.5.28-1.linux2.6
    
    Complete!
    

    再卸载mysql-client:

    新葡亰496net 1# yum

    remove mysql-client Dependencies Resolved

    Package Arch Version Repository Size

    Removing: MySQL-client x86_64 5.5.28-1.linux2.6 installed 57 M

    Transaction Summary

    Remove 1 Package(s) Installed size: 57 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : MySQL-client-5.5.28-1.linux2.6.x86_64 1/1 Verifying : MySQL-client-5.5.28-1.linux2.6.x86_64 1/1 Removed: MySQL-client.x86_64 0:5.5.28-1.linux2.6 Complete! View Code

    最后卸载mysql-devel:

    新葡亰496net 2# yum

    remove mysql-devel Dependencies Resolved

    Package Arch Version Repository Size

    Removing: MySQL-devel x86_64 5.5.28-1.linux2.6 installed 20 M

    Transaction Summary

    Remove 1 Package(s) Installed size: 20 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : MySQL-devel-5.5.28-1.linux2.6.x86_64 1/1 Verifying : MySQL-devel-5.5.28-1.linux2.6.x86_64 1/1 Removed: MySQL-devel.x86_64 0:5.5.28-1.linux2.6 Complete! View Code

    3个包的卸载都顺利达成。

    6.3 安装MySQL 5.6.19

    设置比卸载更简便易行,因为yum会自动物检疫查正视安装包:

    # yum install mysql-server
    Dependencies Resolved
    
    ================================================================================
     Package                   Arch      Version         Repository            Size
    ================================================================================
    Installing:
     mysql-community-server    x86_64    5.6.19-2.el6    mysql56-community     52 M
    Installing for dependencies:
     mysql-community-client    x86_64    5.6.19-2.el6    mysql56-community     18 M
     mysql-community-common    x86_64    5.6.19-2.el6    mysql56-community    298 k
     mysql-community-libs      x86_64    5.6.19-2.el6    mysql56-community    1.9 M
    
    Transaction Summary
    ================================================================================
    Install       4 Package(s)
    
    Total size: 72 M
    Installed size: 323 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing : mysql-community-common-5.6.19-2.el6.x86_64                   1/4
      Installing : mysql-community-libs-5.6.19-2.el6.x86_64                     2/4
      Installing : mysql-community-client-5.6.19-2.el6.x86_64                   3/4
      Installing : mysql-community-server-5.6.19-2.el6.x86_64                   4/4
    warning: /etc/my.cnf created as /etc/my.cnf.rpmnew
    /bin/chmod: cannot access `': No such file or directory
      Verifying  : mysql-community-common-5.6.19-2.el6.x86_64                   1/4
      Verifying  : mysql-community-libs-5.6.19-2.el6.x86_64                     2/4
      Verifying  : mysql-community-client-5.6.19-2.el6.x86_64                   3/4
      Verifying  : mysql-community-server-5.6.19-2.el6.x86_64                   4/4
    
    Installed:
      mysql-community-server.x86_64 0:5.6.19-2.el6
    
    Dependency Installed:
      mysql-community-client.x86_64 0:5.6.19-2.el6
      mysql-community-common.x86_64 0:5.6.19-2.el6
      mysql-community-libs.x86_64 0:5.6.19-2.el6
    
    Complete!
    

    由于篇幅关系,输出有所缩略。一切顺遂,继续!

    预先报告:繁杂的政工那才开端。

    6.4 校正MySQL配置,来接纳数据硬盘

    更改etcmy.cnf,上边只列出改革的相干设置:

    [mysqld]
    # Uncomment the following if you are using InnoDB tables
    #innodb_data_home_dir = /var/lib/mysql
    # data path changed to 2nd physical hard disk /dev/xvdb after upgrading from MySQL 5.5 to MySQL 5.6
    innodb_data_home_dir = /data/mysql
    #innodb_data_file_path = ibdata1:10M:autoextend
    #innodb_log_group_home_dir = /var/lib/mysql
    datadir = /data/mysql
    

    万后生可畏您也退换了数额目录,最终风姿浪漫行的 datadir = /data/mysql 切不可疏漏,作者就是因为那意气风发行实在未有即时改,依旧指向旧的数目目录,招致数据进级失败,直到进级数据以往才开掘,在下文中有详细演讲。

    6.5 启动MySQL服务

    开发银行服务:

    # service mysql start
    mysql: unrecognized service
    

    竟然出错了!只好一向运营MySQL的daemon:

    # /etc/init.d/mysqld start
    Starting mysqld:                                           [  OK  ]
    

    新兴才驾驭,mysql是MySQL 5.5的劳务名称,到了MySQL 5.6劳动就改名字为mysqld了。所以,其实这里能够运作service mysqld start的。

    6.6 晋级MySQL数据库及表

    鲁人持竿参谋资料[6],到此时,MySQL的程序已经升任实现,要进步数据了。

    先把旧数据目录下的有所文件都拷贝到新的数码目录下。可惜,这里的指令在本身的劳作日志中并未记录,日后找到再不上。可是那是着力的Linux命令,即让你不理解,也必然能在英特网找到。

    接下来运维上边包车型大巴指令:

    # mysql_upgrade -uroot -p
    Enter password:
    Looking for 'mysql' as: mysql
    Looking for 'mysqlcheck' as: mysqlcheck
    Running 'mysqlcheck' with connection arguments: '--port=<为安全故略去>' '--socket=/var/lib/mysql/mysql.sock'
    Warning: Using a password on the command line interface can be insecure.
    Running 'mysqlcheck' with connection arguments: '--port=<为安全故略去>' '--socket=/var/lib/mysql/mysql.sock'
    Warning: Using a password on the command line interface can be insecure.
    mysql.columns_priv                                 OK
    mysql.db                                           OK
    mysql.event                                        OK
    mysql.func                                         OK
    # ... ... 为省略篇幅故略去 ... ...
    mysql.time_zone_transition                         OK
    mysql.time_zone_transition_type                    OK
    mysql.user                                         OK
    Running 'mysql_fix_privilege_tables'...
    Warning: Using a password on the command line interface can be insecure.
    Running 'mysqlcheck' with connection arguments: '--port=<为安全故略去>' '--socket=/var/lib/mysql/mysql.sock'
    Warning: Using a password on the command line interface can be insecure.
    Running 'mysqlcheck' with connection arguments: '--port=<为安全故略去>' '--socket=/var/lib/mysql/mysql.sock'
    Warning: Using a password on the command line interface can be insecure.
    mydb.table1                                         OK
    mydb.table2                                         OK
    # ... ... 为省略篇幅故略去 ... ...
    mydb.table793                                       OK
    mydb.table794                                       OK
    OK
    

    到此处发掘,数据库有标题,数据进级未能如愿。原因固然从前谈起的,升级数据时etcmy.cnf中的数据目录(即datadir = 那风度翩翩行)依旧指向旧的多寡目录,作者狐疑那导致一些操作爆发了混乱。

    当时小编深以为难免的焦灼和芜杂,之后小编做了某个品尝:

    • 双重晋级数据的长河,结果一如从前
    • 尝试修复缺点和失误仍然损毁的体系数据库中的5个数据表,结果开采文书档案有如步向了三个迷宫,不得要领。

    只好为此作罢。

    6.7 重新创立数量目录

    看起来由于本人事先的大意,数据库已经在上一步晋级数据中被损毁了!

    那儿,你能做什么!Google(或然百度)就是你这两天最佳的情侣!

    在冒汗和揪头发的折腾中,总算找到了根救命稻草mysql_install_db,详见参考资料[9],那个命令能够重复制造数量目录,那就代表重新创制系统数据库mysql,也表示现存的顾客数据库都将被清除。那时,你会谢谢天公、神仙、圣母和玉帝,假如您在最开首对具备的数据库做了备份的话。回头看一下大家在5.1 备份全数的数据库做的作业,就精通那是多么首要了!有了备份,我们就足以还原全体的数据库了!

    先要做的,是在MySQL的安插文件中装置科学的数码目录。再一次改过etcmy.cnf,下面只列出改过的有关设置:

    [mysqld]
    datadir = /data/mysql
    

    接下来,祭出大家的救命稻草mysql_install_db来再一次创制数量目录(假使您想清楚该命令的详实参数,可以预知参照他事他说加以考查资料[9]):

    # /usr/bin/mysql_install_db --user=mysql --datadir=/data/mysql
    Installing MySQL system tables...2014-06-13 00:35:17 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2014-06-13 00:35:17 11574 [Note] InnoDB: Using atomics to ref count buffer pool pages
    2014-06-13 00:35:17 11574 [Note] InnoDB: The InnoDB memory heap is disabled
    2014-06-13 00:35:17 11574 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    2014-06-13 00:35:17 11574 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2014-06-13 00:35:17 11574 [Note] InnoDB: Using Linux native AIO
    2014-06-13 00:35:17 11574 [Note] InnoDB: Using CPU crc32 instructions
    2014-06-13 00:35:17 11574 [Note] InnoDB: Initializing buffer pool, size = 128.0M
    2014-06-13 00:35:17 11574 [Note] InnoDB: Completed initialization of buffer pool
    2014-06-13 00:35:17 11574 [Note] InnoDB: Highest supported file format is Barracuda.
    2014-06-13 00:35:17 11574 [Note] InnoDB: 128 rollback segment(s) are active.
    2014-06-13 00:35:17 11574 [Note] InnoDB: Waiting for purge to start
    2014-06-13 00:35:17 11574 [Note] InnoDB: 5.6.19 started; log sequence number 44199093
    2014-06-13 00:35:17 11574 [Warning] InnoDB: Cannot open table mysql/innodb_table_stats from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
    ERROR: 1146  Table 'mysql.innodb_table_stats' doesn't exist
    2014-06-13 00:35:17 11574 [ERROR] Aborting
    
    2014-06-13 00:35:17 11574 [Note] Binlog end
    2014-06-13 00:35:18 11574 [Note] InnoDB: FTS optimize thread exiting.
    2014-06-13 00:35:18 11574 [Note] InnoDB: Starting shutdown...
    2014-06-13 00:35:19 11574 [Note] InnoDB: Shutdown completed; log sequence number 44199103
    2014-06-13 00:35:19 11574 [Note] /usr/sbin/mysqld: Shutdown complete
    

    又出错了!别慌,那是因为数量目录并没有清空,此中还大概有此前损毁的数据库文件。

    去除当前的数目目录。小编骨子里做的是把 /data/mysql 改名称为/data/mysql.bak2,效果同样,/data/mysql 目录不设有了,只是小编做了个大要文件备份。

    重新重新建立数据目录:

    # /usr/bin/mysql_install_db --user=mysql --datadir=/data/mysql
    Installing MySQL system tables...2014-06-13 00:46:06 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2014-06-13 00:46:06 11654 [Note] InnoDB: Using atomics to ref count buffer pool pages
    2014-06-13 00:46:06 11654 [Note] InnoDB: The InnoDB memory heap is disabled
    2014-06-13 00:46:06 11654 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    2014-06-13 00:46:06 11654 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2014-06-13 00:46:06 11654 [Note] InnoDB: Using Linux native AIO
    2014-06-13 00:46:06 11654 [Note] InnoDB: Using CPU crc32 instructions
    2014-06-13 00:46:06 11654 [Note] InnoDB: Initializing buffer pool, size = 128.0M
    2014-06-13 00:46:06 11654 [Note] InnoDB: Completed initialization of buffer pool
    2014-06-13 00:46:06 11654 [Note] InnoDB: The first specified data file /data/mysql/ibdata1 did not exist: a new database to be created!
    2014-06-13 00:46:06 11654 [Note] InnoDB: Setting file /data/mysql/ibdata1 size to 12 MB
    2014-06-13 00:46:06 11654 [Note] InnoDB: Database physically writes the file full: wait...
    2014-06-13 00:46:06 11654 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
    2014-06-13 00:46:07 11654 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
    2014-06-13 00:46:09 11654 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
    2014-06-13 00:46:09 11654 [Warning] InnoDB: New log files created, LSN=45781
    2014-06-13 00:46:09 11654 [Note] InnoDB: Doublewrite buffer not found: creating new
    2014-06-13 00:46:09 11654 [Note] InnoDB: Doublewrite buffer created
    2014-06-13 00:46:09 11654 [Note] InnoDB: 128 rollback segment(s) are active.
    2014-06-13 00:46:09 11654 [Warning] InnoDB: Creating foreign key constraint system tables.
    2014-06-13 00:46:09 11654 [Note] InnoDB: Foreign key constraint system tables created
    2014-06-13 00:46:09 11654 [Note] InnoDB: Creating tablespace and datafile system tables.
    2014-06-13 00:46:09 11654 [Note] InnoDB: Tablespace and datafile system tables created.
    2014-06-13 00:46:09 11654 [Note] InnoDB: Waiting for purge to start
    2014-06-13 00:46:09 11654 [Note] InnoDB: 5.6.19 started; log sequence number 0
    2014-06-13 00:46:10 11654 [Note] Binlog end
    2014-06-13 00:46:10 11654 [Note] InnoDB: FTS optimize thread exiting.
    2014-06-13 00:46:10 11654 [Note] InnoDB: Starting shutdown...
    2014-06-13 00:46:12 11654 [Note] InnoDB: Shutdown completed; log sequence number 1625977
    OK
    
    Filling help tables...2014-06-13 00:46:12 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2014-06-13 00:46:12 11678 [Note] InnoDB: Using atomics to ref count buffer pool pages
    2014-06-13 00:46:12 11678 [Note] InnoDB: The InnoDB memory heap is disabled
    2014-06-13 00:46:12 11678 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    2014-06-13 00:46:12 11678 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2014-06-13 00:46:12 11678 [Note] InnoDB: Using Linux native AIO
    2014-06-13 00:46:12 11678 [Note] InnoDB: Using CPU crc32 instructions
    2014-06-13 00:46:12 11678 [Note] InnoDB: Initializing buffer pool, size = 128.0M
    2014-06-13 00:46:12 11678 [Note] InnoDB: Completed initialization of buffer pool
    2014-06-13 00:46:12 11678 [Note] InnoDB: Highest supported file format is Barracuda.
    2014-06-13 00:46:12 11678 [Note] InnoDB: 128 rollback segment(s) are active.
    2014-06-13 00:46:12 11678 [Note] InnoDB: Waiting for purge to start
    2014-06-13 00:46:12 11678 [Note] InnoDB: 5.6.19 started; log sequence number 1625977
    2014-06-13 00:46:12 11678 [Note] Binlog end
    2014-06-13 00:46:12 11678 [Note] InnoDB: FTS optimize thread exiting.
    2014-06-13 00:46:12 11678 [Note] InnoDB: Starting shutdown...
    2014-06-13 00:46:14 11678 [Note] InnoDB: Shutdown completed; log sequence number 1625987
    OK
    

    末尾还会有局地出口,只是部分验证,关于怎么着计划MySQL的服务、怎么着设置管理员密码、等等。

    好了,到这里,看起来算是复苏都例行了。

    世襲,设置管理员密码:

    # mysqladmin -u root password '********'
    

    6.8 恢复生机客户数据库

    此时,只是重新建立了系统数据库mysql,原先的客商数据库都没了。要先创立(空的)顾客数据库,然后从备份复苏。

    进入MySQL命令行:

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 7
    Server version: 5.6.19 MySQL Community Server (GPL)
    

    再创设客商数据库:

    mysql> CREATE DATABASE `mydb`;
    Query OK, 1 row affected (0.00 sec)
    mysql> exit
    Bye
    

    这时,mydb数据库依然空的。从以前的数据库备份恢复生机mydb:

    # mysql -u root -p mydb < 2014-06-12_mydb.sql
    Enter password:
    

    客商数据库顺遂复苏。

    6.9 设置服务(daemon)在机械运营时运营

    翻开mysqld服务的开机运转状态:

    # chkconfig mysqld on
    

    再查看:

    # chkconfig --list mysqld
    mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
    

    正确!继续。

    6.10 重启web服务器

    对应于6.1 截至web服务器,大家要双重开启网址、允许客商访谈了:

    # service nginx start
    Starting nginx:                                            [  OK  ]
    

    测验网址,一切平常!

    6.11 更正CakePHP中数据库连接的设置

    其实网址还应该有零星小意思,可是那和MySQL进级非亲非故,只是当做完全的骨子里进程,记录在那处。

    骨子里这时候依旧不能访谈网址的,访谈网址主页时遇见上面包车型客车荒唐:

    2014-06-13 01:07:23 Warning: Warning (2): mysql_connect() [<a href='http://php.net/function.mysql-connect'>function.mysql-connect</a>]: No such file or directory in [/usr/share/nginx/.../cake/libs/model/datasources/dbo/dbo_mysql.php, line 561]
    

    依附参谋资料[11],校正CakePHP 1.3代码中的app/config/database.php:

    class DATABASE_CONFIG {
        public $default = array(
            'datasource' => 'Database/Mysql',
            'persistent' => false,
            'host' => 'localhost',
            'login' => 'username',
            'password' => 'password',
            'database' => 'mydb',
            'prefix' => ''
            ,'encoding' => 'utf8'
            ,'port' => '/data/mysql/mysql.sock'
        );
    

    如上所示,扩展了port的设置。注意,那只适用于*nix系统,Windows上是不供给那样的。另,CakePHP 2.x的装置与此略有分化,请参见相关文书档案。

    这么网站就能够健康访谈了。

    A. 参考资料

    MySQL 51 进级到 56应该怎操作?CentOS下早先的条件是用LNMP搭建的所以现在怎技艺够升官到56?

    源码编写翻译咯,当然注意数据备份,官方有那上头的文书档案的  

    怎在centOS 63 下校正mySQL存放数据库的目录?

    附:修改数据文件存款和储蓄
    1、甘休服务;
    2、移动MySQL数据文件
    [[email protected] ~]# mv /var/lib/mysql /home/
    3、修改my.cnf配置
    [[email protected] ~]# vi /etc/my.cnf
    [mysqld]
    port = 3306
    #socket = /var/lib/mysql/mysql.sock(原内容,为了更稳当用“#”注释此行卡塔 尔(阿拉伯语:قطر‎
    socket = /home/mysql/mysql.sock
    4、改进运营脚本
    [[email protected] ~]# vi /etc/init.d/mysql
    #datadir=/var/lib/mysql(注释原内容卡塔 尔(阿拉伯语:قطر‎
    datadir=/home/data/mysql
    5、重启服务如运行失利,检查目录/文件权限。  

    在CentOS上把MySQL从5.5升级到5.6 摘要:本文记录了在CentOS 6.3上,把MySQL从5.5.28升格到5.6.19的经过。 1....

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496netLinux更改MySQL数据库目录位置具体操作

    关键词: