当前位置:首页 > CN2资讯 > 正文内容

mysql存储位置怎么修改 mysql改变存储位置

1天前CN2资讯


mysql数据库目录存放位置更改

 使用了VPS一段时间之后发现磁盘空间快满了。本人的VPS在购买的时候买了500gbd的磁盘,提供商赠送了20GB的高性能系统磁盘。这样系统就有两个磁盘空间了。因此在初次安装mysql 的是时候将数据库目录安装在了系统盘。(第一个磁盘)使用了一段时间之后数据库存储量变大,快将20GB的存放空间占满了。因此必须将存放数据空间换地方了。嘿嘿下面是简单的操作了,不合理之处还请大侠们指点。


操作步骤:

    1.检查mysql数据库存放目录

    mysql -u root -prootadmin

    show variables like '%dir%';

    quit;

   (查看datadir 那一行所指的路径)


    2.停止mysql服务

    service mysqld stop


    3.创建新的数据库存放目录

    mkdir /data/mysql


    4.移动/复制之前存放数据库目录文件,到新的数据库存放目录位置

    cp -R /usr/local/mysql/data/* /data/mysql/    #或mv /usr/local/mysql/data/* /data/mysql

    5.修改mysql数据库目录权限以及配置文件

    chown mysql:mysql -R /data/mysql/

    vim /etc/my.cnf

datadir=/data/mysql (制定为新的数据存放目录)

    vim /etc/init.d/mysqld

    datadir=/data/mysql


    6.启动数据库服务

    service mysqld start


说明:根据以上的简单6步操作,已经成功的数据库目录更换路径了。

备注:以上系统为CentOS 6.2 x64   mysql-5.5.13




MYSQL RPM包安装



分类: mysql 2013-06-13  2720人阅读  评论(0)  收藏  举报



mysql Oracle官方下载 类型特多 看起来很让人头痛  我们选择

Download MySQL Community Server

http://dev.mysql.com/downloads/mysql/

在这个下载网站 选择平台是ORACL& RED HAT LIUNX 5

选择安装包 MySQL-5.6.12-1.linux_glibc2.5.x86_64.rpm-bundle 303M

在windows下 解压它  把其中含有 SERVER和CLIENT  单词的两个文件 传到linux 里去

我传到/home 目录下  然后   root用户下  rpm -ivh  mysql-service-5.6.12-.......rpm

两个包安装很顺利。

启动的时候报错了 

mysql -u root
error 1045(28000):access denied for user 'root'@'localthost'(using password:NO)

[root@loaclhost] /usr/bin/mysqld_safe --usr=mysql --skip-grant-tables --skip-networking&

开启第二个终端


[root@loaclhost] /usr/bin/mysql -u root mysql
@_@ 终于登进去了

mysql> update user set password=password('yourword') where user='root';
mysql> flush PRIVILEGES;
mysql> quit

[root@loaclhost] service mysql restart

[root@loaclhost] /usr/bin/mysql -uroot -p

成功进去了




目录



 



1、数据库目录



    /var/lib/mysql/



2、配置文件



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



3、相关命令



   /usr/bin   (mysqladmin mysqldump等命令)



4、启动脚本



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





七、更改MySQL目录 

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

   1、opt目录下建立data目录 
   cd /opt 
   mkdir mysql_rpm_5612/data/

   2、把MySQL服务进程停掉: 
   mysqladmin -u root -p shutdown 

   3、把/var/lib/mysql整个目录移到/opt/mysql_rpm_5612/data/
   mv /var/lib/mysql /opt/mysql_rpm_5612/data/
   这样就把MySQL的数据文件移动到了/home/data/mysql下 

   4、找到my.cnf配置文件 
   如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下: 
   [root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 

   5、编辑MySQL的配置文件/etc/my.cnf 
   为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下: 
   vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之) 
   # The MySQL server 
    [mysqld] 
    port   = 3306 
    #socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行) 
    socket  = /opt/mysql_rpm_5612/data//mysql/mysql.sock   (加上此行) 

   6、修改MySQL启动脚本/etc/rc.d/init.d/mysql 
   最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。 
   [root@test1 etc]# vi /etc/rc.d/init.d/mysql 
   #datadir=/var/lib/mysql    (注释此行) 
   datadir=/opt/mysql_rpm_5612/data//mysql   (加上此行) 

   7、重新启动MySQL服务 
   /etc/rc.d/init.d/mysql start 
   或用reboot命令重启Linux 
   如果工作正常移动就成功了,否则对照前面的7步再检查一下


然后该目录下看localhost.localdomain.err
发现: Can't start server:Bind on unix socket:Permission denied
Do you alread have another mysqld server running on socket:/opt/mysql_rpm_5612/data/mysql.sock ?

醒悟到/etc/my.cnf 写错了。


server mysl start 

ok


mysql -u  root -p

enter password:

Error 2002(HY000):can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock(2)'


mysql -u root -p  是客户段软件包

因此在/etc/my.cnf 增加

[client]

socket = /opt/mysql_rpm_5612/data//mysql/mysql.sock 


再次登录:

mysql -u  root -p

enter password:


Ok

mysql> show databases;

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。
参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了:

 

mysql> create database yan1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql>  SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)

mysql> create database yan1;
Query OK, 1 row affected (0.00 sec)

123456');这句话重新设置一次密码!大爷的,真费劲啊。
这位仁兄也遇到了相同的问题。


mysql> show databases;

、显示数据库 
   mysql> show databases; 
   +----------+ 
   | Database | 
   +----------+ 
   | mysql  | 
   | test   | 
   +----------+ 
   2 rows in set (0.04 sec) 
   Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。 

   2、显示数据库中的表 
   mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro ) 
   Database changed 

   mysql> show tables; 
   +-----------------+ 
   | Tables_in_mysql | 
   +-----------------+ 
   | columns_priv  | 
   | db       | 
   | func      | 
   | host      | 
   | tables_priv   | 
   | user      | 
   +-----------------+ 
   6 rows in set (0.01 sec) 

   3、显示数据表的结构: 
   describe 表名; 

   4、显示表中的记录: 
   select * from 表名; 
   例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。 
   Select * from user; 

   5、建库: 
   create database 库名; 
   例如:创建一个名字位aaa的库 
   mysql> create databases aaa; 
6、建表: 
   use 库名; 
   create table 表名 (字段设定列表); 
   例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段 
   use aaa; 
   mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date); 
   可以用describe命令察看刚建立的表结构。 
   mysql> describe name; 

   +-------+---------+------+-----+---------+----------------+ 
   | Field | Type  | Null | Key | Default | Extra     | 
   +-------+---------+------+-----+---------+----------------+ 
   | id  | int(3) |   | PRI | NULL  | auto_increment | 
   | xm  | char(8) | YES |   | NULL  |        | 
   | xb  | char(2) | YES |   | NULL  |        | 
   | csny | date  | YES |   | NULL  |        | 
   +-------+---------+------+-----+---------+----------------+ 

   7、增加记录 
   例如:增加几条相关纪录。 
   mysql> insert into name values('','张三','男','1971-10-01'); 
   mysql> insert into name values('','白云','女','1972-05-20'); 
   可用select命令来验证结果。 
   mysql> select * from name; 
   +----+------+------+------------+ 
   | id | xm  | xb  | csny    | 
   +----+------+------+------------+ 
   | 1 | 张三 | 男  | 1971-10-01 | 
   | 2 | 白云 | 女  | 1972-05-20 | 
   +----+------+------+------------+ 

   8、修改纪录 
   例如:将张三的出生年月改为1971-01-10 
   mysql> update name set csny='1971-01-10' where xm='张三'; 

   9、删除纪录 
   例如:删除张三的纪录。 
   mysql> delete from name where xm='张三'; 

   10、删库和删表 
   drop database 库名; 
   drop table 表名; 

   九、增加MySQL用户 

   格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令: 

   mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123"; 
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。 

  例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。 

   mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123"; 

   用新增的用户如果登录不了MySQL,在登录时用如下命令: 

   mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址) 

   十、备份与恢复 

   1、备份 

   例如:将上例创建的aaa库备份到文件back_aaa中 

   [root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容) 
   [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa 

   2、恢复 

   [root@test mysql]# mysql -u root -p ccc < back_aaa 




    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/19127.html

    分享给朋友:

    “mysql存储位置怎么修改 mysql改变存储位置” 的相关文章

    如何选择合适的Windows VPS服务: 实用指南与推荐

    在寻找合适的Windows VPS服务时,了解主要服务商的特点无疑是一个重要的步骤。市面上众多提供Windows VPS服务的商家中,vpsdime.com、raksmart.com、ion.krypt.asia以及bacloud.com等都是值得考虑的选择。这些服务商在多个地区运营,提供了不同版本...

    提升美国家庭网络安全与光纤宽带普及的最佳策略

    在当今这个数字化时代,家庭网络的建设与发展显得愈发重要。美国家庭对于网络的依赖程度日渐加深,这不仅仅体现在上网购物、观看视频、游戏娱乐等日常活动中,也体现在工作和学习的方方面面。作为一个普通家庭,我们的生活节奏已经被网络所塑造,无论是为了保持与亲友的联系,还是获取最新的信息,都离不开一个稳定而高效的...

    如何在VPS上启用和配置IPv6以提升网络性能

    在当今数字化的时代,互联网已经成为我们日常生活中不可或缺的一部分。随着设备和用户数量的快速增长,现有的IPv4地址开始捉襟见肘。这时,IPv6(Internet Protocol Version 6)应运而生,作为下一代互联网协议,它的出现可以说是一种必然趋势。IPv6不仅解决了IPv4地址耗尽的问...

    优化RackNerd DC2机房 IP使用体验与性能评测

    我最近对RackNerd的DC2机房产生了越来越多的兴趣,特别是位于美国洛杉矶的这座机房。它被誉为RackNerd中中国国内访问速度较快的机房之一,吸引了很多需求高效网络连接的用户。这座机房的地理位置确实蛮不错,靠近美西主干线,对于需要与国内建立连接的网站和应用来说,能带来相对更快的访问速度。 对于...

    香港云服务器:灵活选择与网络优势助力企业发展

    香港云服务器作为一种现代化的网络托管服务,逐渐成为越来越多企业和个人用户的首选。这种服务的核心就是将服务器放置在香港的数据中心,提供灵活的云计算资源。对于希望在云端运作的用户来说,了解香港云服务器的定义与特点是非常重要的。 首先,香港云服务器的产品类型多种多样,从轻量云主机到快杰云主机,再到裸金属服...

    甲骨文云的永久免费服务:开发者的理想选择

    在现代云计算的环境中,甲骨文云(Oracle Cloud)作为一种强有力的云计算服务,凭借其永久免费服务吸引了许多用户。回想我初次接触甲骨文云时,正是被它提供的多种Always Free服务所吸引,比如我可以免费使用2个实例和20GB的存储空间。这让我在学习和开发上有了更加广阔的可能性,不用担心一开...