Written by 正冰 on 2012, January 6, 10:37 AM
以下命令需要在root权限下执行:
首先要停止mysql服务,看一下mysql使用说明(启动、停止、重启、重启、重载、强制重载、状态),如下:
# /etc/init.d/mysql
Usage: /etc/init.d/mysql {start|stop|restart|reload|force-reload|status} [ MySQL server options ]
停止mysql服务:
# /etc/init.d/mysql stop
执行mysql下的mysqld_safe,跳过权限与网络设置启动(以便下一步无须权限就可以进入数据库操作)
# /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
使用mysql命令直接进入mysql数据库进行操作:
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('NewPassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
重启mysql服务使得mysql恢复正常运行:
# /etc/init.d/mysql restart
尝试用新密码登陆操作:
# mysql -uroot -p
Enter password: <输入重置的密码NewPassword>
简单几步,重置mysql密码。
Filed under: 技术归总
0 Comments
17829 Views
Written by 正冰 on 2011, November 16, 10:14 AM
之前mysql一直正常运行,重启之后打开网页就报错:Can't connect to local MySQL server through socket /var/lib/mysql/mysql.sock。
检查了一下这个位置发现并没有mysql.sock,而my.cnf中配置mysql.sock路径为/tmp/mysql.sock,netstat -nltp检查mysql却是正常运行的,说明mysql启动没有问题,奇怪了!
为了保障网站先正常运行,后续再找原因,这里给出一个快速解决方案(增加mysql目录,给mysql.sock做一个软链接):
mkdir /var/lib/mysql/
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
然后去刷新出错页面,正常了。
Filed under: 技术归总
1 Comments
29446 Views
Written by 正冰 on 2011, April 1, 4:38 PM
今天在迁移网站的过程中遇到了数据表只读的情况:table '[Table]stats' is read only
经过分析尝试,得出一些经验,分享一下:
1、这个问题一般出现在迁移mysql数据库,一般来说需要先检查用户与权限的问题,比如有某一个mysql数据库为is36,我们的mysql管理用户与组均为mysql,那么我们通过命令设置它的所有者为mysql:#chown mysql.mysql is36/*
2、再设置数据库中的所有表信息为660权限,也就是所有者mysql与所在的mysql用户组可读可写:#chmod 660 is36/*
3、以上操作完成后数据库表访问权限问题应该是没有了,但是依旧会显示这个错误,那么进入phpmyadmin,尝试对这个数据表进行repair(修复)操作,如果提示修复成功,那么这个read only的问题应该是解决了,回到页面上刷新一下即可。但是在我测试的过程中,也有一些数据表提示read only,但却修复失败,那么继续往下走。
4、进入mysql的bin工具目录,执行如下命令:#./mysqladmin -u<username> -p flush-tables 其中<username>是你的mysql管理员用户,一般为root。执行完成这条命令,再去刷新页面,应该是正常了。
Filed under: 技术归总
0 Comments
23245 Views
Written by 正冰 on 2010, May 10, 5:25 PM
需要做的:将在本机(windows xp sp3+apache2+php5+mysql5)调试好的php+mysql的网站放到服务器上运行。
操作过程:把网站程序打包成zip压缩包,停止本机的mysql数据库,将数据库目录打包为zip压缩包(不停止数据库会出错)。打包完成上传到服务器上,以下在ssh环境下操作,用#unzip 压缩包.zip命令解压缩,将数据库跟网站程序分别移动(mv)到数据库目录(实现建立好同名的数据库)和网站目录下。
遇到的问题:
- 登陆后台出现Table 'XXX' is read only,然后我就很自然地去数据库目录把数据加上权限了
- 再次登陆却发现出了另外一个错误:Can't find file: './xxx/xxx.frm' (errno:13),这时候回想起来,刚才第一点里的权限弄错了,加了www:www权限而非数据库权限,改回来就可以了:#chown -R mysql:mysql xxx/
- 当然,linux下权限很严格,网站目录下的有些目录也要设置为www:www的777权限
Filed under: 技术归总
0 Comments
10223 Views