mysqlデータベース管理

18434 ワード

ユーザー管理
1CREATE USER 'y1905'@'%' identified by '123456';
select host,user,password from mysql.user;
    
drop user 'y1905'@'%';
     
RENAME USER 'myslave'@'192.168.9.%' TO 'y1905'@'%';
       
        
set password=password("123456");
        
set password for 'y1905'@'%'=password('pwd123');
    
a、    
systemctl stop mysqld
b、        
mysqld_safe --skip-grant-tables&
c、  
[root@www ~]# mysql
mysql> update mysql.user set password=password("111") where user='root';
mysql> flush privileges;
d、kill  myslqd
e、  
systemctl start mysqld
f、  
[root@www ~]# mysql -uroot -p111

権限
    
mysql> grant select,update on mmm.* to 'testa'@'192.168.9.%' identified by '123';
    
show grants for testa@'192.168.9.%';
    
revoke update on mmm.* from 'testa'@'192.168.9.%';

権限リスト
アクセス権
説明
All
すべての権限の設定
ALTER
ALTER TABLEの使用を許可
CREATE
CREATE TABLEの使用を許可
CREATE USER
CREATE USERの使用を許可
DELETE
DELETEの使用を許可
INDEX
INDEXの使用を許可
INSERT
INSERTの使用を許可
SELECT
SELECTの使用を許可
UPDATE
UPDATEの使用を許可
DROP
DROPの使用を許可
REPLICATION SLAVE
プライマリ・サーバからのバイナリ・ファイルの読み取りを許可
SHOW DATABASES
すべてのデータベースの表示を許可
ログ管理
vi /etc/my.cnf
log-error=/usr/local/mysql/data/my_error.log           
general_log = ON    #      ,   OFF
general_log_file = /usr/local/mysql/data/mysql_general.log
log_bin = y2002-bin   #      =     ,       ***-bin.00000*   
  :mysql              ,        。

1)    
     mysql      ,                    
     mysql    data.err
2)    
        mysql        ,      
3)     
                             ,        
      
       mysqlbinlong    ,    msyqlbinlog mysql-bin.000001
4)     
                long_query_time   SQL  ,               ,        。
      
        :
vi  /etc/my.cnf
slow_query_log=ON            
slow_query_log_file=mysql_slow_query.log             ,
          ,     data   
long_query_time=1         

mysql> show variables like "%slow%";              
+---------------------------+-----------------------------------+
| Variable_name             | Value                             |
+---------------------------+-----------------------------------+
| log_slow_admin_statements | OFF                               |
| log_slow_slave_statements | OFF                               |
| slow_launch_time          | 2                                 |
| slow_query_log            | OFF            OFF                      |
| slow_query_log_file       | /usr/local/mysql/data/my-slow.log |
+---------------------------+-----------------------------------+
5 rows in set (0.00 sec)

mysql> set global slow_query_log=ON;           ,  
Query OK, 0 rows affected (0.04 sec)

mysql> show variables like "%slow%";
+---------------------------+-----------------------------------+
| Variable_name             | Value                             |
+---------------------------+-----------------------------------+
| log_slow_admin_statements | OFF                               |
| log_slow_slave_statements | OFF                               |
| slow_launch_time          | 2                                 |
| slow_query_log            | ON                                |
| slow_query_log_file       | /usr/local/mysql/data/my-slow.log |
+---------------------------+-----------------------------------+
5 rows in set (0.00 sec)


mysql> show variables like "long_query_time";         
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |   #  10s
+-----------------+-----------+
1 row in set (0.00 sec)

mysql> set global long_query_time=5;  #         5s
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like "long_query_time";
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |   #   
+-----------------+-----------+
1 row in set (0.00 sec)

mysql> show variables like "long_query_time";
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 5.000000 |   #    
+-----------------+----------+
1 row in set (0.00 sec)



  

mysql> select sleep(6);

vi my-slow.log 
/usr/local/mysql/bin/mysqld, Version: 5.6.36-log (Source distribution). started with:
Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument
# Time: 191012 19:42:59
# User@Host: root[root] @ localhost []  Id:     2
# Query_time: 6.000773  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1570880579;
select sleep(6);

データの文字化けし
文字化けしの原因
コンピュータ内の任意のデータはバイナリで格納され、1文字を格納するには彼を符号化し、1つのバイナリ数で対応するルールの集合を「文字セット」と呼ぶ.Mysqlサーバの使用中によく文字化けしが発生します.主に以下の原因があります.
  • サーバシステム文字設定問題
  • データテーブル語系設定の問題
  • クライアント接続語系の問題実際に文字化けし問題の原因を簡単に説明すると、データを使用、記憶する際に、各段階で設定された文字セットが異なると、文字化けしてしまう
  • 文字化けし
    文字セットの変更
  • データベース作成時指定CREATE DATABASE test CHARSET utf8;
  • データテーブル作成時指定create table idtest(id int(10)) default charset=gb2312show table status
  • MySQLプロファイルの変更は、通常、データベース内のすべてのストレージコンテンツがutf 8のフォーマットになるように、MySQLプロファイルを変更する方法を使用します.MySQLプロファイルの変更/etc/my.cnfは[client]セクションを追加し、「default-character-set=utf 8」を追加して再起動すると有効になります.ここのみを変更し、データベースの作成やデータテーブルの作成に文字セットを個別に指定する必要はありません.