/usr/local/mysql/bin/mysql -uroot
mysqladmin -uroot password '123456'
有时候我们不想使用/usr/local/mysql/bin/mysql 这种方式去登陆。我们需要直接mysql -uroot这种方式,由于mysql不在咱们的环境变量中,所以我们需要添加一下:
export PATH=$PATH:/usr/local/mysql/bin/
然后要想永久使用,必须要添加到profile配置中去:
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin/
source /etc/profile
[root@zhdy-03 ~]# mysqladmin -uroot password 'asd9577'
为了验证是否已经修改成功(第一次没有输入密码;报错了,第二次成功):
[root@zhdy-03 ~]# mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@zhdy-03 ~]# mysql -uroot -pasd9577
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
[root@zhdy-03 ~]# mysqladmin -uroot -p'asd9577' password 'zhangduanya'
建议在修改密码的时候添加 ” 其目的是我们在修改密码的时候使用特殊符号。
[[email protected]03 ~]# vim /etc/my.cnf
然后在[mysqld]下面增加一行:
skip-grant //忽略授权,不需要输入密码
[[email protected]03 ~]# /etc/init.d/mysqld restart
[[email protected]03 ~]# mysql -uroot
> use mysql;
> update user set password=password('asd9577') where user='root';
> select password from user where user='root'; //查看root的密码,当然都是加密的!
在修改完密码之后,一定要把/etc/my.cnf 中的skip-grant去掉,不然所有的用户均不需要密码就可以访问数据库了,非常危险!!!
然后再次重启mysql服务:
/etc/init.d/mysqld restart
mysql -uroot -p123456 -h127.0.0.1 -P3306
[root@zhdy-03 tmp]# mysql -uroot -pasd9577 -S/tmp/mysql.sock
但是这种情况只适合在本机去连接!
mysql -uroot -p123456 -e “show databases”
[[email protected] tmp]# mysql -uroot -pasd9577 -e "show databases"
Warning: Using a password on the command line interface can be insecure.
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
查询有几个库:
show databases;
切换库:
use mysql;
查看库里的表:
show tables;
查看tb_name这个表里的字段:
desc tb_name;
查看tb_name这个表是如何创建的语句:
show create table tb_name\G;
//如果不加\G 也可以显示,但是排版太乱!
查看当前登录的用户:
select user();
查看当前使用的数据库:
select databsase();
其实在mysql环境中我们也可以使用上下键去翻看历史,其实在根目录我们是可以找到这个历史文件的。
[[email protected]03 ~]# ls -la
总用量 60
-rw-------. 1 root root 20639 8月 21 14:22 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw------- 1 root root 73 8月 21 16:43 .mysql_history
创建库
create database db1;
创建t1表,且自定义字段id和name(需要用反引号),且格式分别为:int和char:
use db1; create table t1(`id` int(4), `name` char(40));
一条mysql语句输完,如果前面输入#,则代表着取消,不生效。
删除一个表:
drop table t1;
查看当前数据库版本:
select version();
查看数据库状态:
show status;
查看各参数:
show variables;
模糊查询(假如我只记得一个大概的的是max_conect,后面的不记得了,使用%进行通配,模糊查找):
show variables like 'max_connect%';
直接修改max_connect的参数(但是这个是修改的内存中的参数,重启即失效):
set global max_connect_errors=1000;
如果需要永久生效,就需要进入/etc/my.cnf去配置!
查看队列(类似于在linux 中使用ps或者top):
show processlist;
查看完整的INFO
show full processlist;
mysql5.7root有默认密码,必须重设密码后,才能进行mysql的操作,以下是设置root密码的步骤:
一、查看默认密码
[[email protected] src]# cat /root/.mysql_secret
# The random password set for the root userat Fri Jan 10 20:00:34 2014 (local time): aJqZsA2m
这里的aJqZsA2m就是生成的root随机密码啦
二、登录mysql
[[email protected] src]# mysql -u root -p
Enter password:
输入上面的密码aJqZsA2m登录,如果你没有把mysql的路径加到path里,那就用绝对路径,mysql -u root -p还可以写成mysql -uroot -paJqZsA2m
三、更改密码
mysql> SET PASSWORD FOR 'root'@localhost = PASSWORD('123456');
Query OK, 0 rows affected (0.17 sec)
至此,就成功地修改了密码。