好多人选择MariaDB作为MySQL替代品

1.有传说中的性能提升,主要在查询上,对客户端和服务器的影响都比较小,没有达到档次级的提升
2.跟MySQL基本保持高度一致性,开发者和使用者基本上不受影响。
3.主从备份出现奇异现象,在落伍的机器上主从复制正常。但是在另外一个论坛上主从复制有状况,显示成功,但是从库更新太慢或者干脆不更新。
4.××××××××

总结目前来说,MariaDB跟MySQL是二选一的产品,闭着眼睛挑一个即可。

今天,在centos6下把mysql没法启动的数据库文件夹复制到/usr/local/mysql/var下,结果在修改表时,提示”table isreadonly”的错误。 首先想到的是遇到了权限问题,所以就去/usr/local/mysql/var查看了下,果然所有者不是mysql,权限也不正确。经过下面的步骤
把问题解决了:
1、进入mysql数据库目录,使用命令”chown -R mysql <数据库文件夹名称>” 和 “chgrp -R mysql <数据库文件夹名称>”将文件夹拥有者和所在组改为mysql
2、使用命令”chmod -R 760 <数据库文件夹名称>” 改变权限设置
3、使用命令”mysqladmin -uroot -p reload”重新载入表
4、使用命令”mysqladmin -uroot -p flush-tables”执行刷新

提示: mysql数据库文件拥有者和所在组必须是mysql。

不管是windows版还是linux版mysql5.6.x安装完后内存和虚拟内存占用都很大。
搞个vps感觉内存很吃力,还是限制下比较好。

1、关闭innodb使用MYISAM存储引擎
参考http://docs.oracle.com/cd/E17952_01/refman-5.6-en/innodb-turning-off.html

2、添加配置
performance_schema_max_table_instances=200
table_definition_cache=200
table_open_cache=128

本帖教程对应环境为centos6.5测试 

此教程作者小樱,感谢作者分享资源 我只是转过来保存一下
原帖地址:http://bbs.itzmx.com/thread-6285-1-1.html 

是否为了这该死的mysql5.1性能差而烦恼?是否因为官方不提供升级不上mysql5.6而抱怨。

来吧,本帖完美教程,绝不丢任何数据,虚拟机环境多次测试,简单快捷,让你的mysql性能提升十五倍,疯狂吧,欢呼吧,少年。

wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
yum -y update
rm -rf /var/lib/mysql/ibdata1
rm -rf /var/lib/mysql/ib_logfile0
rm -rf /var/lib/mysql/ib_logfile1
service mysqld start
chkconfig –level 2345 mysqld on

好奇怪的一天,上午腾讯QQ空间挂掉,下午全国网络挂掉,

我的mysql,早上挂掉了,重启后,下午又挂掉了,并且mysql进程死掉就起不来了,想修复数据库发现root都进不去了。

以为被黑了,结果改密码也进不去。mysql启动的时候没有什么错误,跑着跑着就死了。

有时候日志里有

MySQL: Incorrect information in file: ‘.\mysql\tables_priv.frm’

或者很多行
forcing close of thread * user:’user1′
forcing close of thread * user:’user2′
…………

半夜了,我也要记录一下,这个问题解决的太离谱了。

MySQL密码正确却无法本地登录怎么办?
即使是从服务器上登录也提示
ERROR 1045 (28000): Access denied for user ‘root’@’127.0.0.1’ (using password: YES)
密码明明正确,却登录不了。

修改mysql root密码 修改很多遍了
方法
在mysql的bin目录 mysqld –skip-grant-tables
启动mysql
最好是加上具体的my.ini的地址 并且加上 –console
mysqld –defaults-file=”E:\MySql\MySQL Server 5.1\my.ini” –console –skip-grant-tables
启动mysqld
然后,修改密码 update mysql.user set password=password(‘新密码’) where User=”root” ;

这样修改 可以提示 1行 生效,密码确实修改成功了。
但是登录的时候 总是提示 ERROR 1045 (28000): Access denied for user ‘root’@’127.0.0.1’ (using password: YES)
仔细比较
跟另一台的差别
另一台 如果输入错误密码 会提示 ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
一个是 127.0.0.1 一个是 localhost
就这个差别。
照着复制一份出来 user表里 再加一行:把localhost 改成 %
这样 127.0.0.1 就没问题了。

其实有人可能会有 跟我相反的情况,比如 user表里有127.0.0.1 没有localhost 这样也对应加一个应该就可以了。

数据库比较大,对我们懒人来说,还是直接复制data文件夹方便.

可是复制完发现,数据库里的表正在使用中,或者是 不可写 Table is read only

当你真正遇到这个问题,网上转载复制的那么多的./mysqladmin -u root -p flush-tables   这个方法并不会真正起作用

chmod成777 这个更离谱,会导致更多的问题

主要还是权限要对应的问题

将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*

导出表结构
mysqldump -uroot -p –default-character-set=utf8 -d databasename > db.sql
修改db.sql内的字符集设置(editplus编辑)
ENGINE=MyISAM DEFAULT CHARSET=latin1;
修改为
ENGINE=MyISAM DEFAULT CHARSET=utf8;
导出数据
mysqldump.exe -uroot -p –quick –no-create-info –extended-insert –default-character-set=latin1 databasename >data.sql
//–default-character-set=latin1,使得导出的数据时中文,而不是乱码,当初改成utf8的做法是错误
修改data.sql
顶部添加
set names utf8;//使得客户端和链接使用utf8格式,使得数据以utf8的形式存储
创建数据库
create database databasename default charset utf8;
导入表结构
mysql -uroot -p databasename < db.sql
导入表数据
mysql -uroot -p databasename < data.sql
备注:原理流程
1、导出表结构,把latin1结构替换成utf8
2、用原有的latin1导出数据,并且将set names替换成utf8格式
3、创建数据库,默认字符集改成utf8
4、导入表结构、数据

如果你是服务器是 windows xp/2000/2003/nt 都可以使用这个方法来找回丢失 MYSQL超级管理员root的密码。1,停止MYSQL服务,CMD打开DOS窗口,输入 net stop mysql 2,在CMD命令行窗口,进入MYSQL安装目录 比如 d:mysql20080505bin ……

今天帮一个朋友找回了MYSQL的超级管理员ROOT密码,开始输入命令的时候少打了个“点”害的折腾了几个小时,终于解决了,写个教程,方便以后 使用!

如果你是服务器是 windows xp/2000/2003/nt 都可以使用这个方法来找回丢失 MYSQL超级管理员root的密码

1,停止MYSQL服务,CMD打开DOS窗口,输入 net stop mysql

1.gif

2,在CMD命令行窗口,进入MYSQL安装目录 比如 d:mysql20080505bin

Read the rest of this entry

今天用root用户登录到mysql数据库目录,把几个数据库解压直接放进去了,

在mysql中,查询Select之类的都正常,但在网站后台中添加内容提示:Table ‘********’ is read only

然后我 尝试  chown -R  mysql:mysql /var/lib/mysql/data_data/ 
不起作用
然后 又     chmod -R 0777  /var/lib/mysql/data_data/  

还是不起作用 

其实修改到此 重启一下mysql就可以了

搜到一个标准的解决办法

要解决它首先要给mysql的数据库目录加上可写权限,即777

然后到mysql的Bin目录执行刷新

mysqladmin -u <username> -p flush-tables

并且保证mysql安装目录的/var/lib/mysql的目录权限设置为700

其间所有文件的权限设置为660

基本可以解决

另:当我们更改了mysql权限表,我们可以重起服务器,但更简单的办法是执行

mysqladmin -u <username> -p reload

 一般来说mysqladmin -u <username> -p flush-tables这样就可以了

,