mysql存储位置怎么修改 mysql改变存储位置 |
您所在的位置:网站首页 › 怎么改变mysql存储位置 › mysql存储位置怎么修改 mysql改变存储位置 |
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 Serverhttp://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
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |