目录mysql
记得root密码的修改方式:sql
[root@localhost ~]# mysqladmin -uroot -p123456 password "123123" [root@localhost ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) [root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 37 Server version: 10.1.20-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> quit Bye
忘记root密码的修改方式数据库
[root@localhost ~]# vim /etc/my.cnf.d/mariadb-server.cnf [mysqld] #在mysqld段中增长skip-grant-tables,跳过受权表 server_id=1111 log-bin=mysql-bin skip-grant-tables datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid [root@localhost ~]# systemctl restart mariadb #重启mariadb [root@localhost ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.1.20-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [mysql]> desc user; +------------------------+-----------------------------------+------+-----+----------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------------+-----------------------------------+------+-----+----------+-------+ | Host | char(60) | NO | PRI | | | | User | char(80) | NO | PRI | | | | Password | char(41) | NO | | | | | Select_priv | enum('N','Y') | NO | | N | | | Insert_priv | enum('N','Y') | NO | | N | | | Update_priv | enum('N','Y') | NO | | N | | | Delete_priv | enum('N','Y') | NO | | N | | | Create_priv | enum('N','Y') | NO | | N | | | Drop_priv | enum('N','Y') | NO | | N | | | Reload_priv | enum('N','Y') | NO | | N | | | Shutdown_priv | enum('N','Y') | NO | | N | | | Process_priv | enum('N','Y') | NO | | N | | | File_priv | enum('N','Y') | NO | | N | | | Grant_priv | enum('N','Y') | NO | | N | | | References_priv | enum('N','Y') | NO | | N | | | Index_priv | enum('N','Y') | NO | | N | | | Alter_priv | enum('N','Y') | NO | | N | | | Show_db_priv | enum('N','Y') | NO | | N | | | Super_priv | enum('N','Y') | NO | | N | | | Create_tmp_table_priv | enum('N','Y') | NO | | N | | | Lock_tables_priv | enum('N','Y') | NO | | N | | | Execute_priv | enum('N','Y') | NO | | N | | | Repl_slave_priv | enum('N','Y') | NO | | N | | | Repl_client_priv | enum('N','Y') | NO | | N | | | Create_view_priv | enum('N','Y') | NO | | N | | | Show_view_priv | enum('N','Y') | NO | | N | | | Create_routine_priv | enum('N','Y') | NO | | N | | | Alter_routine_priv | enum('N','Y') | NO | | N | | | Create_user_priv | enum('N','Y') | NO | | N | | | Event_priv | enum('N','Y') | NO | | N | | | Trigger_priv | enum('N','Y') | NO | | N | | | Create_tablespace_priv | enum('N','Y') | NO | | N | | | ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | | | ssl_cipher | blob | NO | | NULL | | | x509_issuer | blob | NO | | NULL | | | x509_subject | blob | NO | | NULL | | | max_questions | int(11) unsigned | NO | | 0 | | | max_updates | int(11) unsigned | NO | | 0 | | | max_connections | int(11) unsigned | NO | | 0 | | | max_user_connections | int(11) | NO | | 0 | | | plugin | char(64) | NO | | | | | authentication_string | text | NO | | NULL | | | password_expired | enum('N','Y') | NO | | N | | | is_role | enum('N','Y') | NO | | N | | | default_role | char(80) | NO | | | | | max_statement_time | decimal(12,6) | NO | | 0.000000 | | +------------------------+-----------------------------------+------+-----+----------+-------+ 46 rows in set (0.00 sec) MariaDB [mysql]> update user set password=password("123456") where user='root'; Query OK, 1 row affected (0.00 sec) Rows matched: 3 Changed: 1 Warnings: 0 MariaDB [mysql]> quit; Bye [root@localhost ~]# vim /etc/my.cnf.d/mariadb-server.cnf 删除/etc/my.cnf里面的skip-grant, 重启服务 [root@localhost ~]# systemctl restart mariadb [root@localhost ~]# mysql -uroot -p Enter password: 123456 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.1.20-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> quit; Bye
为何要配置慢查询日志?vim
其目的是为了帮助咱们分析MariaDB的瓶颈点,或者说是业务的瓶颈点。任何一个动态网站都会有读取和写入到数据库的操做,若是其中有一个脚本或SQL语句执行特别慢,那么带来的现象多是用户访问站点时出现卡顿,或者响应较慢。那么为了去分析慢查询,就能够启用慢查询日志的方式。socket
如何配置慢查询??优化
- (1)进入MariaDB里面进行执行:
show variables like "slow%";
show variables like "datadir";
show variables like "long%";
- (2)编辑/etc/my.cnf进行配置
- (3)重启服务
- (4)模拟慢查询
- (5)查看慢查询日志
(1)进入MariaDB里面进行执行 [root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 16 Server version: 10.1.20-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show variables like "slow%"; #查看慢查询相关的配置 +---------------------+--------------------+ | Variable_name | Value | +---------------------+--------------------+ | slow_launch_time | 2 | #慢查询运行时间配置 | slow_query_log | OFF | #是否开启慢查询 | slow_query_log_file | localhost-slow.log | #慢查询日志文件名称,存在于datadir中 +---------------------+--------------------+ 3 rows in set (0.01 sec) MariaDB [(none)]> show variables like "datadir"; #查看datadir路径 +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | datadir | /var/lib/mysql/ | +---------------+-----------------+ 1 row in set (0.00 sec) MariaDB [(none)]> show variables like "long%"; #查询时间配置 +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.00 sec) (2)编辑/etc/my.cnf进行配置 [root@localhost ~]# vim /etc/my.cnf #修改my.cnf配置慢查询日志 [mysqld] # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 slow_query_log = ON #开启慢查询记录 slow_query_log_file = /var/lib/mysql/mysql-slow.log #配置慢查询日志文件路径 long_query_time = 2 #配置查询时间超过2s进行记录 (3)重启服务 [root@localhost ~]# systemctl restart mariadb (4)模拟慢查询 [root@localhost ~]# mysql -uroot -p #从新登陆,运行select进行验证记录 Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.1.20-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> select sleep(5); +----------+ | sleep(5) | +----------+ | 0 | +----------+ 1 row in set (5.00 sec) (5)查看慢查询日志 [root@localhost ~]# cat /var/lib/mysql/mysql-slow.log #查看慢查询日志 /usr/libexec/mysqld, Version: 10.1.20-MariaDB (MariaDB Server). started with: Tcp port: 0 Unix socket: /var/lib/mysql/mysql.sock Time Id Command Argument # Time: 190218 11:43:05 # User@Host: root[root] @ localhost [] # Thread_id: 3 Schema: QC_hit: No # Query_time: 5.002032 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 # Rows_affected: 0 SET timestamp=1550461385; select sleep(5); #提示慢查询的运行指令
同时,还能够使用
show processlist;
和show full processlist
;进行查看慢查询队列网站
show processlist;
查看全部的队列;能够查看数据库中有些什么查询和查询量的多少,若是查询量超过100都会比较慢,此时就须要进行优化。ui
show full processlist
; 和上面有什么区别呢?若是有1个语句特别长,info列,只会显示一部分,使用这个命令时,就能够显示完整的信息。this
MariaDB [(none)]> show processlist; +----+------+-----------+------+---------+------+-------+------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+-------+------------------+----------+ | 3 | root | localhost | NULL | Query | 0 | init | show processlist | 0.000 | +----+------+-----------+------+---------+------+-------+------------------+----------+ 1 row in set (0.00 sec) MariaDB [(none)]> show full processlist; +----+------+-----------+------+---------+------+-------+-----------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+-------+-----------------------+----------+ | 3 | root | localhost | NULL | Query | 0 | init | show full processlist | 0.000 | +----+------+-----------+------+---------+------+-------+-----------------------+----------+ 1 row in set (0.00 sec)