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