MySQL DBA 常用手册(2)
4. 之后的所有步骤与第一种方法的后三步5、6、7相同。
第三种,适用于MyISAM存储引擎,全部是文件间的拷贝。
1. 安装。
2. 从旧版本mysqlsystems_com数据库下将所有.frm、.MYD 和.MYI文件拷贝到新版本的相同目录下。
3.之后的步骤依然同于第一种的后三步。
以上就是三种升级MySQL的方法,看似没有出现什么问题,其实,在实际的生产环境中,为会有诸多问题发生,这就需要我们在升级之前充分了解新版本中增加了哪些新功能,进一步分析升级以后这些新特性是否将会对我们原来应用产生影响。
3. MYSQL远程连接不了的解决方案
有可能是这个用户权限不够。查看一下权限表。
4. MYSQL忘记密码解决办法
在windows下:
打开命令行窗口,停止mysql服务:Net stop mysql
到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动,在命令行窗口执行:mysqld-nt --skip-grant-tables
然后另外打开一个命入令行窗口,执行mysql,此时无需输入密码即可进入。
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
>exit
使用任务管理器,找到mysqld-nt的进程,结束进程!
在重新启动mysql-nt服务,就可以用新密码登录了。
在linux下:
如果MySQL 正在运行,首先杀之:killall -TERM mysqld。
启动MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密码就进入MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀MySQL ,用正常方法启动MySQL 。
5. 更改MYSQL的默认字符集
法1、 用SET 语法来指定,不加"GLOBAL" 的话就只对本次会话有效
SET [GLOBAL] character_set_client = utf8;
SET [GLOBAL] character_set_connection = utf8;
SET [GLOBAL] character_set_database = utf8;
SET [GLOBAL] character_set_results = utf8;
SET [GLOBAL] character_set_server = utf8;
方法2、 也用SET语法,只对本次会话有效
SET NAMES 'utf8';
方法3、) 直接修改my.cnf,增加一行内容,然后重启MySQL,使之全局生效
default-character-set = utf8
6.MYSQL慢查询分析工具:mysqldumpslow
mysqldumpslow命令
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log
这会输出记录次数最多的10条SQL语句,其中:
* -s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
* -t, 是top n的意思,即为返回前面多少条的数据;
* -g, 后边可以写一个正则匹配模式,大小写不敏感的;
比如
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
得到返回记录集最多的10个查询。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>