浏览模式: 标准 | 列表 Tag: mysql

linux mysql密码遗忘丢失找回来的方法

以下命令需要在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密码。

Tags: mysql

解决Can't connect to local MySQL server th...

之前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

然后去刷新出错页面,正常了。

Tags: mysql

解决:Table '[Table]stats' is read only

今天在迁移网站的过程中遇到了数据表只读的情况: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。执行完成这条命令,再去刷新页面,应该是正常了。

Tags: mysql, table, read only, flush-tables

解决迁移mysql数据遇到的2个问题

需要做的:将在本机(windows xp sp3+apache2+php5+mysql5)调试好的php+mysql的网站放到服务器上运行。

操作过程:把网站程序打包成zip压缩包,停止本机的mysql数据库,将数据库目录打包为zip压缩包(不停止数据库会出错)。打包完成上传到服务器上,以下在ssh环境下操作,用#unzip 压缩包.zip命令解压缩,将数据库跟网站程序分别移动(mv)到数据库目录(实现建立好同名的数据库)和网站目录下。

遇到的问题:

  1. 登陆后台出现Table 'XXX' is read only,然后我就很自然地去数据库目录把数据加上权限了
  2. 再次登陆却发现出了另外一个错误:Can't find file: './xxx/xxx.frm' (errno:13),这时候回想起来,刚才第一点里的权限弄错了,加了www:www权限而非数据库权限,改回来就可以了:#chown -R mysql:mysql xxx/
  3. 当然,linux下权限很严格,网站目录下的有些目录也要设置为www:www的777权限

 

Tags: mysql

Total:12‹ Prev12