1. 忘记root密码
http://www.lishiming.net/thread-252-1-1.html
进入mysql
which mysql
/usr/local/mysql/bin/mysql 没有设置密码之前可以这样子打开mysql
登录/usr/local/mysql/bin/mysql -uroot -p123456
如果忘记root密码或其他用户密码,不要急,按下面操作即可。
1. 编辑mysql主配置文件 my.cnf
vim /etc/my.cnf
在[mysqld]字段下添加参数
skip-grant 不需要授权
2. 重启数据库服务
service mysqld restart
3. 这样就可以进入数据库不用授权了
mysql -uroot
4. 修改相应用户密码
use mysql;
update user set password=password(‘aminglinux‘) where user=‘root‘;
flush privileges;
5. 修改/etc/my.cnf 去掉 skip-grant , 重启mysql服务
重启
/etc/init.d/mysqld restart
登录/usr/local/mysql/bin/mysql -uroot -paminglinux
看user表
use mysql;
select * from user\G;
=============
2.
skip-name-resolve(禁止解析域名)
skip-innodb (是mysql的引擎)
vim /etc/my.cnf 在配置里面加上上面两个,然后在/data/mysql 有几个文件会消失
3. 配置慢查询日志
#log_slow_queries = /path/to/slow_queries
#long_query_time = 1
查看配置文件,默认在下面文件找
vim /etc/init.d/mysqld 进去查找conf=/etc/my.cnf
4. innodb与myisam 常用mysql引擎,总结一下
http://www.lishiming.net/thread-97-1-1.html
5. mysql配置调优
http://www.lishiming.net/thread-5758-1-1.html
6. mysql常用操作
mysql -uroot -paminglinux
或者 mysql -uroot -h127.0.0.1 -paminglinux
mysql -uroot -h192.168.11.190 -P3306 -paminglinux
mysql -uroot -S /tmp/mysql.sock -paminglinux 可以用sock去通讯,只可以在本地用
查看都有哪些库 show databases;
调用系统的命令 system ls
查看某个库的表 use db; show tables;
查看表的字段结构 desc tb;
查看建表语句 show create table tb\G; \G显示比较有规则一点
当前是哪个用户 select user();
当前库 select database();
创建库 create database db1; mysql -uroot -paminglinux -e "create database discuz2"
创建表 create table t1 (`id` int(4), `name` char(40));
insert into t1 values(1, ‘aming‘);
insert into t1 (`id`) values(2); 插入单个字段
select * from t1;
查看数据库版本 select version();
查看mysql状态 show status;
修改mysql参数 show variables like ‘max_connect%‘; set global max_connect_errors = 1000;
查看mysql队列 show processlist; ===============
grant all on *.* to ‘root‘@‘10.0.2.100‘ identified by ‘123456‘; *.*代表所有的库和表都授权
创建普通用户并授权 grant all on *.* to user1 identified by ‘123456‘;
grant all on db1.* to ‘user2‘@‘10.0.2.100‘ identified by ‘111222‘;
flush privileges; 刷新一下磁盘
grant all on db1.* to ‘user3‘@‘%‘ identified by ‘231222‘;
更改密码 UPDATE mysql.user SET password=PASSWORD("newpwd") WHERE user=‘username‘ ;
查询 select count(*) from mysql.user; select * from mysql.db; select * from mysql.db where host like ‘10.0.%‘;
更新 update db1.t1 set name=‘aaa‘ where id=1;
删除表字段 delete from t1 where id=3;
清空表的数据 truncate table db1.t1;
删除表 drop table db1.t1;
删除数据库 drop database db1;
修复表 repair table tb1 [use frm];
show processlist ; 看看任务都有哪些 show full processlist ;
show variables like ‘%timeout%‘;
在配置文件里面加上,两个必须同时用从可以
interactive_timeout = 10
wait_timeout=10
如果更改mysql的配置文件my.conf 就需要重启mysql,现在不需要重启就可以生效的方法(不是全局,全局需要写入到配置文件里面)
set global interactive_timeout = 10;
把重启的服务放到系统的环境 /etc/rc.local 下面,就可以开机自动生效=========
/usr/local/apache2/bin/apachectl start
查看帖子内容的表
select * from pre_forum_post\G;
搜索帖子
select * from pre_forum_post where subject like ‘%sjs%‘;
7. mysql备份与恢复
备份数据库 mysqldump -uroot -paminglinux db >1.sql
恢复 mysql -uroot -paminglinux db <1.sql
mysql -uroot -paminglinux -e "create database discuz2"
备份时指定字符集 mysqldump -uroot -paminglinux --default-character-set=utf8 db >1.sql
只备份表结构 mysqldump -uroot -paminglinux --default-character-set=utf8 -d db >1.sql
恢复指定字符集 mysql -uroot -paminglinux --default-character-set=utf8 db < 1.sql
只备份一个表 mysqldump -uroot -paminglinux db tb1 > 2.sql
8. 一台mysql服务器启动多个端口
http://www.lishiming.net/thread-63-1-1.html
http://www.aminglinux.com/bbs/forum.php?mod=viewthread&tid=6509&highlight=phpmyadmin
安装mysqlamin 管理平台