更改 mysql 默认的数据文件存储位置
假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
2、停止mysql进程
mysql -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样MySQL的数据文件就移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/找到my-medium*.cnf文件,拷贝到/etc/并改名为my.cnf
命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock
socket=/home/data/mysql/mysql.sock
操作如下:
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)
6、修改MySQL启动脚本/etc/init.d/mysql
把其中datadir=/var/lib/mysql一行中修改成现在的实际存放路径:home/data/mysql
[root@test1 etc]# vi /etc/init.d/mysql
#datadir=/var/lib/mysql(注释此行)www.linuxidc.com
datadir=/home/data/mysql (加上此行)
最后做一个mysql.sock 链接:
ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock(需要从/home/data/mysql下复制一份过来)
7、重新启动MySQL服务
/etc/init.d/mysqld start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
8、最后修改下数据库的权限
[root@localhost ~]# chown -R mysql:mysql /home/data/mysql/ ← 改变数据库的归属为mysql
[root@localhost ~]# chmod 700 /home/data/mysql/test/ ← 改变数据库目录属性为700
[root@localhost ~]# chmod 660 /home/data/mysql/test/* ← 改变数据库中数据的属性为660
9、全部搞定!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如何查看系统盘空间占用的越来越大的原因
执行这个命令先定位下大文件在根目录下哪个文件夹
然后再进入那个文件夹,替换刚才这句命令的目录/*为这个文件夹路径,如此类推,一步步定位到最大文件
mount /dev/xdb1 /data 挂载命令 (解释,挂载xdb1分区到data目录下)
umount为对应的取消挂载
df -h 查看磁盘使用率
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一、修改文件配置
二、重启Mysql使其生效
service mysqld restart
添加虚拟主机
/root/vhost.sh 添加虚拟主机
删除虚拟主机
ssh登陆执行命令:rm /usr/local/nginx/conf/vhost/域名.conf
如,前面我们添加的主域名是www.vpser.net,则该命令为:rm /usr/local/nginx/conf/vhost/www.vpser.net.conf
解压压缩包命令
tar zxf a.tar.gz
LNMP状态管理命令:
LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}
如重启LNMP,输入命令:/root/lnmp restart 即可,单独重启mysql:/etc/init.d/mysql restart
LNMPA状态管理命令:
LNMPA状态管理: /root/lnmpa {start|stop|reload|restart|kill|status}
Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
Memcached状态管理:/etc/init.d/memcached {start|stop|restart}
PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}
ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}
Apache状态管理:/etc/init.d/httpd {start|stop|restart|graceful|graceful-stop|configtest|status}
MySql出现#1036-Table''is read only错误提示
前几天我把一个系统挂到服务器上,数据库出现了如下的错误提示:
#1036 - Table ' ' is read only
我把网站传到服务器上,把备份的数据库文件放到/usr/local/mysql/var下面之后,访问某个表时出现权限的问题,后来把数据库的权限改为777,把数据库目录的所属用户和组改为MySQL,错误依然存在。我采用了一下的方法解决了问题。
首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin下面。步骤如下:
#cd /usr/local/mysql/bin
#./mysqladmin -u root -p flush-tables
然后输入你的数据库密码,没有任何的错误提示,说明你成功了。访问一下那个表试一下。

Thomas2 年前
发表在:SQL Server2008报错:值不能为空[S35]
Thomas2 年前
发表在:解决Composer Installing dependencies from lock file你这都看不清了
1114 年前
发表在:Cetnos7 新手安装ZABBIX4.0.5详解教程有人嘛
Tyreunorm2020-08-27 22:51
发表在:php5.6 连接SQL SERVER<a href=https://mega...
耗子2020-04-08 15:02
发表在:写给正在创业的自己看到了,想写点。可能我开过这网站了,以后...
Thomas2019-11-19 19:57
发表在:twcms您的IP地址已改变,为了安全考虑,请重新登录这个好
酷喵2016-08-03 15:22
发表在:我家侄女成长记前排支持啦!
五爷2015-12-01 03:26
发表在:关于centos中的相关查看命令@admin:呵呵
admin2015-12-01 01:49
发表在:关于centos中的相关查看命令非常不错