一、更改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>