1. 程式人生 > >設置MySQL數據庫密碼,連接數據庫以及基本操作的常用命令

設置MySQL數據庫密碼,連接數據庫以及基本操作的常用命令

MySQ常用操作

一、更改MySQL的root用戶密碼

1、首次進入數據庫

[root@zlinux ~]# /usr/local/mysql/bin/mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> quit
Bye

首次進入數據庫使用了絕對路徑,直接使用mysql命令是不行的,因為/usr/local/mysql/bin/不再PATH這個環境變量裏。還有在首次進入數據庫時,密碼為。退出時,輸入quit或者exit即可。

2、把mysql命令絕對路徑加入環境變量

[root@zlinux ~]# export PATH=$PATH:/usr/local/mysql/bin    //臨時加入環境變量,重啟就會失效
[root@zlinux ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile      //追加到profile文件中,使環境變量永久生效
[root@zlinux ~]# source /etc/profile     //重新加載配置
[root@zlinux ~]# mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> 

3、設置和更改root密碼

[root@zlinux ~]# mysqladmin -uroot password ‘123456‘                  //在實際生產環境中請勿設置如此簡單的密碼
Warning: Using a password on the command line interface can be insecure.
[root@zlinux ~]# mysqladmin -uroot password ‘123456‘
Warning: Using a password on the command line interface can be insecure.
[root@zlinux ~]# mysql -uroot     //設置好密碼之後,再次使用之前的登錄密令就報錯了
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
[root@zlinux ~]# mysql -uroot -p123456     //輸入密碼後再登錄,-p選項後面直接跟密碼,不能有空格
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> quit
Bye
[root@zlinux ~]# mysql -uroot -p     //-p後面不加密碼,以交互的形式輸入密碼
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> exit
Bye
[root@zlinux ~]# mysqladmin -uroot -p123456 password ‘zlinux‘   //修改密碼
Warning: Using a password on the command line interface can be insecure.
[root@zlinux ~]# mysql -uroot -pzlinux     //使用新密碼登錄
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> 

4、忘記root密碼時的操作

[root@zlinux ~]# vim /etc/my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It‘s a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]
skip-grant                                     //在[mysqld]下加入該字段

[root@zlinux ~]# /etc/init.d/mysqld restart      //重啟mysql
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@zlinux ~]# mysql -uroot              //現在就無需密碼了
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> 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
mysql> update user set password=password(‘zlinux123456‘) where user=‘root‘;            //更新密碼
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> exit
Bye
[root@zlinux ~]# vim /etc/my.cnf    //刪除skip-grant字段
[root@zlinux ~]# /etc/init.d/mysqld restart   //重啟
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@zlinux ~]# mysql -uroot    //無法登陸了
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
[root@zlinux ~]# mysql -uroot -pzlinux123456    //使用新密碼登錄
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> exit
Bye

二、連接數據庫

[root@zlinux ~]# mysql -uroot -p -h192.168.242.128 -P3306            //-P指定端口, -h指定ip進行登錄
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> exit
Bye
[root@zlinux ~]# mysql -uroot -p -S/tmp/mysql.sock    //使用sock登錄,只適用於本地連接,等同於“mysql -uroot -p123456”
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> exit
Bye

三、MySQL基本操作的常用命令

查詢當前所有庫:show databases;
切換庫: use mysql;
查看庫裏的表: show tables;
查看表所有字段: desc tb_name; //tb_name表示字段名
查看建表語句: show create table tb_name\G; //\G表示由豎排顯示(示的更加有條理)
查看當前用戶: select user();
查看當前使用的數據庫: select databsase();
創建庫: create database db1;
創建表: use db1; create table t1(id int(4), name char(40));
查看當前數據庫版本: select version();
查看數據庫狀態: show status;
查看各參數 :show variables; show variables like ‘max_connect%‘;
修改參數: set global max_connect_errors=1000;
查看隊列:show processlist; show full processlist;

簡單演示:

[root@zlinux ~]# mysql -uroot -p -S/tmp/mysql.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

mysql> 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
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
28 rows in set (0.00 sec)

mysql> desc func;
+-------+------------------------------+------+-----+---------+-------+
| Field | Type                         | Null | Key | Default | Extra |
+-------+------------------------------+------+-----+---------+-------+
| name  | char(64)                     | NO   | PRI |         |       |
| ret   | tinyint(1)                   | NO   |     | 0       |       |
| dl    | char(128)                    | NO   |     |         |       |
| type  | enum(‘function‘,‘aggregate‘) | NO   |     | NULL    |       |
+-------+------------------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql> select database();
+------------+
| database() |
+------------+
| mysql      |
+------------+
1 row in set (0.00 sec)

mysql> 

設置MySQL數據庫密碼,連接數據庫以及基本操作的常用命令