mysql相关配置

 

[root@wangchao tmp]# vim /etc/my.cnf               //mysql的配置文件

[mysqld]

port            = 3306                              //端口

socket          = /tmp/mysql.sock                     //监听的sock

skip-locking                                         //过滤lock

key_buffer_size = 256M                               //索引块缓存

max_allowed_packet = 1M                           //允许最大的包

table_open_cache = 256                            //所有线程,打开表的数量

sort_buffer_size = 1M                             //排序缓冲区的大小

read_buffer_size = 1M                            //读缓冲区

read_rnd_buffer_size = 4M                        //随机读

myisam_sort_buffer_size = 64M                   //mysql引擎myisam

thread_cache_size = 8                          //缓存可重用线程数

query_cache_size= 16M                        //查询的缓存大小

thread_concurrency = 8                       //最大并发线程数

 

[mysqlhotcopy]

interactive-timeout=8                       //断开连接时间

wait_timeout=8

 

log_query_time=1                             //慢查询日志1S

log_slow_queries=/data/mysql/slow.log            //日志路径

 

 

 

 

 

 

mysqlroot密码重置

[root@wangchao tmp]# mysql -u root             //默认无密码即可登入

mysql> quit

Bye

[root@wangchao tmp]# mysqladmin -u root password 'abcd'           //修改root的密码

[root@wangchao tmp]# mysql -u root                         //无密码登入失败

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@wangchao tmp]# mysql -uroot -pabcd                 //使用密码登入

mysql> quit

Bye

 

 

 

 

现假设密码忘记,更改密码:

[root@wangchao tmp]# vim /etc/my.cnf

[mysqld]

skip_grant                       //不用授权即可登入

[root@wangchao tmp]# /etc/init.d/mysqld restart

[root@wangchao tmp]# mysql                   //无需密码即可登入

mysql> use mysql

mysql> update user set password=password('123') where user='root';   

//更改密码为123

mysql> select *from user where user='root'\G

mysql> exit

Bye

[root@wangchao tmp]# vim /etc/my.cnf

[mysqld]

#skip_grant               //注销掉,无需密码即可登入

[root@wangchao tmp]# /etc/init.d/mysqld restart        //重启

[root@wangchao tmp]# mysql -uroot -p123          //可登入,密码更改为123

 

 

 

 

mysql登入

[root@wangchao ~]# mysql -uroot -p123

mysql> quit

Bye

[root@wangchao ~]# mysql -uroot -h192.168.137.22  -P3306 -p123

ERROR 1130 (HY000): Host '192.168.137.22' is not allowed to connect to this MySQL server

//不通

[root@wangchao ~]# telnet 192.168.137.22 3306  

//查看该端口是否通,不通因为未授权

[root@wangchao ~]# mysql -uroot -h127.0.0.1 -P3306 -p123      //可登入

mysql>

mysql> grant all on *.* to 'root'@'192.168.137.22' identified by '123aaa';

mysql> use mysql;

mysql> select * from user where host='192.168.137.22';

mysql> select * from user where host='192.168.137.22'\G;           //查看授权成功

 

[root@wangchao ~]# mysql -uroot -h192.168.137.22 -P3306 -p123aaa

mysql>                           //可登入可远程登入mysql

mysql> select user();                   //查看当前登入用户

+---------------------+

| user()              |

+---------------------+

| root@192.168.137.22 |

+---------------------+

1 row in set (0.00 sec)

 

[root@wangchao ~]# mysql -uroot -S /tmp/mysql.sock -p       

//本地存在多个mysql,sock登入

Enter password:

mysql>

 

 

 

mysql常用操作:

[root@wangchao ~]# mysql -uroot -p123              //登入

mysql>

mysql> show databases;

mysql> use mysql

mysql> use discuz

mysql> select database();

mysql> select user();

mysql> select version();

mysql> use discuz

mysql> show tables;

mysql> desc pre_ucenter_vars;

mysql> show create table pre_ucenter_vars\G;

mysql> desc pre_forum_post;

mysql> create database wang;

mysql> use wang;

mysql> create table tb1 (`id` int(4), `name` char(40)) ENGINE=MyISAM DEFAULT CHARSET=gbk;

mysql> show tables;

mysql> desc tb1;

mysql> show create table tb1\G;

mysql> insert into tb1 values(1,'wang');

mysql> select *from tb1;

mysql> insert into tb1 values(2,'cai');

mysql> select *from tb1;

+------+------+

| id   | name |

+------+------+

|    1 | wang |

|    2 | cai  |

+------+------+

mysql> insert into tb1 (`id`) values(2);

mysql> insert into tb1 (`name`) values('4');

 

 

mysql> select *from tb1;

+------+------+

| id   | name |

+------+------+

|    1 | wang |

|    2 | cai  |

|    2 | NULL |

| NULL | 4    |

+------+------+

 

mysql> insert into tb1(`name`,`id`) values('55',6);

mysql> select *from tb1;

+------+------+

| id   | name |

+------+------+

|    1 | wang |

|    2 | cai  |

|    2 | NULL |

| NULL | 4    |

|    6 | 55   |

+------+------+

5 rows in set (0.00 sec)

 

mysql> update tb1 set id=5 where name='55'

mysql> select *from tb1;

+------+------+

| id   | name |

+------+------+

|    1 | wang |

|    2 | cai  |

|    2 | NULL |

| NULL | 4    |

|    5 | 55   |

+------+------+

5 rows in set (0.00 sec)

 

mysql> truncate table wang.tb1

mysql> drop table tb1;

mysql> drop database wang;

mysql> show databases;

 

 

 

 

mysql常用操作2

 

mysql> grant all on discuz .* to 'user1'@'192.168.137.%' identified by 'ccc';

mysql> flush privileges;

mysql> show processlist;

+----+------+-----------+------+---------+------+-------+------------------+

| Id | User | Host      | db   | Command | Time | State | Info             |

+----+------+-----------+------+---------+------+-------+------------------+

| 12 | root | localhost | NULL | Query   |    0 | NULL  | show processlist |

+----+------+-----------+------+---------+------+-------+------------------+

1 row in set (0.00 sec)

 

mysql> show variables;

mysql> set global max_connections=200;

mysql> show variables like 'max_connec%';

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| max_connect_errors | 10    |

| max_connections    | 200   |

+--------------------+-------+

2 rows in set (0.00 sec)

 

mysql> set global max_connec_errors=100;

mysql> show variables like 'max_connec%';

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| max_connect_errors | 100   |

| max_connections    | 200   |

+--------------------+-------+

2 rows in set (0.00 sec)

 

mysql> show status;

mysql> show status like '%running';

+-----------------+-------+

| Variable_name   | Value |

+-----------------+-------+

| Slave_running   | OFF   |

| Threads_running | 1     |

+-----------------+-------+

2 rows in set (0.00 sec)

 

mysql> quit

[root@wangchao ~]# vim /etc/init.d/mysqld       //查看日志文件

basedir=/usr/local/mysql

datadir=/data/mysql

[root@wangchao ~]# cd /data/mysql/

[root@wangchao mysql]# ls

wangchao.err

[root@wangchao mysql]# tail wangchao.err

[root@wangchao mysql]# mysql -uroot -p123

mysql> repair table discuz.pre_forum_post;                  //修复表

+-----------------------+--------+----------+----------+

| Table                 | Op     | Msg_type | Msg_text |

+-----------------------+--------+----------+----------+

| discuz.pre_forum_post | repair | status   | OK       |

+-----------------------+--------+----------+----------+

1 row in set (0.04 sec)

 

 

 

 

 

 

mysql备份操作

[root@wangchao ~]# mysqldump -uroot -p123 discuz   //查看备份内容

[root@wangchao ~]# mysqldump -uroot -p123 discuz >/data/discuz.sql

[root@wangchao ~]# vim /data/discuz.sql

[root@wangchao ~]# cd /data/mysql/

[root@wangchao mysql]# ls

[root@wangchao mysql]# cd discuz/

[root@wangchao discuz]# rm -rf pre_forum_post*

//删除数据表,备份库

[root@wangchao discuz]# mysql -uroot -p123 discuz </data/discuz.sql

//恢复数据,恢复库

 

[root@wangchao discuz]# mysqldump -uroot -p123 discuz pre_forum_post >/data/post.sql;

//备份一个表

[root@wangchao discuz]# cat /data/post.sql

[root@wangchao discuz]# mysql -uroot -p123 discuz </data/post.sql

//恢复一个表

[root@wangchao discuz]#  mysqldump -uroot  --default-character-set=gbk -p123 discuz pre_forum_post >/data/post.sql

//备份(一个表)时指定字符集,指定字符集防止一些出错的问题

[root@wangchao discuz]#  mysqldump -uroot  --default-character-set=gbk -p123 discuz pre_forum_post </data/post.sql

//恢复