首页 > 代码库 > 3.4Mysql 的常用操作
3.4Mysql 的常用操作
[root@OBird ~]# mysql -uroot -pzaq12wsx #入库
mysql> grant all on discuz.* to ‘user1‘@‘10.72.4.% identified by ‘password‘;
# 给某一个数据库授权一个网段都可以访问 “%” 表示通配
mysql> grant all on discuz.* to ‘user1‘@‘%‘ identified by ‘password‘; # 此处是密码
#也可以是全部的网络都开放,但是不建议这样做。
———————————————————————————————————————
mysql> grant all on discuz.* to ‘user1‘@‘%‘ identified by ‘password‘;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 3
Current database: *** NONE ***
Query OK, 0 rows affected (0.00 sec)
————————————————————————————————————————
创建完这个用户后,并没有即时生效权限。需要刷新
————————————————————————————
mysql> flush privileges; # 刷新权限命令
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4
Current database: *** NONE ***
Query OK, 0 rows affected (0.00 sec)
————————————————————————————
--------------------------------------------------------
mysql> show processlist; # 查看数据库当前有哪些对列,知道数据库在做什么
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 5
Current database: *** NONE ***
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 5 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)
————————————————————————————————————————————
mysql> show variables; # 查看系统有哪些变量
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 6
Current database: *** NONE ***
+-----------------------------------------+-------------------------------------------------------------------------------------------+
| Variable_name | Value |
+-----------------------------------------+-------------------------------------------------------------------------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| autocommit | ON |
| automatic_sp_privileges | ON |
| back_log | 50
——————————————————————————————————————————
有时重新更改配置文件后需要重启服务才能生效,而此时这个服务正在使用中,那么可以直接在数据库内来进行操作。
如果当前 mysql 正在运行,用户想修改某个参数
以 | max_connections | 151 为例
mysql> set global max_connections=200; # 手动进行修改
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 8
Current database: *** NONE ***
Query OK, 0 rows affected (0.00 sec)
——————————————————
查看
mysql> show variables like ‘max_connec%‘; # “%” 是通配,
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| max_connect_errors | 10 |
| max_connections | 200 | #原来的数值是151 ,现在变成了 200.
+--------------------+-------+
2 rows in set (0.00 sec)
#原来的数值是151 ,现在变成了 200. 重是一重启,这个数值还是会恢复到原来的黙认值。
如果想要永久生效,需要更改 my.cnf 文件。
—————————————————————————————————————————
查看状态
mysql> show status; # 调优时用的比较多,也可以使用通配
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 62
Current database: *** NONE ***
+-----------------------------------+----------+
| Variable_name | Value |
+-----------------------------------+----------+
| Aborted_clients | 6 |
| Aborted_connects | 0 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 78 |
| Bytes_sent | 71 |
| Com_admin_commands | 0 |
......
mysql> show status like ‘%running‘; # 通配查询,前后都可以加 " %buffer% "
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 63
Current database: *** NONE ***
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| Slave_running | OFF |
| Threads_running | 1 |
+-----------------+-------+
2 rows in set (0.00 sec)
--------------------------------------------------
查看mysql 的错误日志
[root@OBird ~]# vim /etc/init.d/mysqld # 楼主找到该件下,并没有找到 datadir=/data/mysql 这一条
[root@OBird ~]# cd /data/mysql/
[root@OBird mysql]# ls
ibdata1 mysql-bin.000001 mysql-bin.000005 mysql-bin.000009 mysql-bin.000013 mysql-bin.000017 slow.log
ib_logfile0 mysql-bin.000002 mysql-bin.000006 mysql-bin.000010 mysql-bin.000014 mysql-bin.index test
ib_logfile1 mysql-bin.000003 mysql-bin.000007 mysql-bin.000011 mysql-bin.000015 OBird.err
mysql mysql-bin.000004 mysql-bin.000008 mysql-bin.000012 mysql-bin.000016 OBird.pid
OBird.err 就是日志文件
[root@OBird mysql]# tail OBird.err #查看日志文件
160923 8:55:52 InnoDB: Initializing buffer pool, size = 8.0M
160923 8:55:52 InnoDB: Completed initialization of buffer pool
160923 8:55:52 InnoDB: Started; log sequence number 0 44233
160923 8:55:52 [Note] Event Scheduler: Loaded 0 events
160923 8:55:52 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: ‘5.1.73-log‘ socket: ‘/tmp/mysql.sock‘ port: 3306 MySQL Community Server (GPL)
160923 12:58:27 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown
160923 12:58:27 [Note] Event Scheduler: Purging the queue. 0 events
160923 12:58:27 InnoDB: Starting shutdown...
--------------------------------------------------------------------
修复 mysql 中的表。
[root@OBird mysql]# mysql -uroot -pzaq12wsx # 进入mysql
mysql> repair table discuz.pre_forum_post; # 修复语句 ,repair table + 表名 + ; ,
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 66
Current database: *** NONE ***
+-----------------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-----------------------+--------+----------+----------+
| discuz.pre_forum_post | repair | status | OK |
+-----------------------+--------+----------+----------+
1 row in set (0.04 sec)
本文出自 “CBO#Boy_Linux之路” 博客,请务必保留此出处http://20151213start.blog.51cto.com/9472657/1865903
3.4Mysql 的常用操作