Linux下设置更改root密码,连接mysql,mysql常用命令
发布时间:2020-08-17 12:53:02
来源:51CTO
阅读:765
作者:ZeroOne01
笔记内容:13.1 设置更改root密码
13.2 连接mysql
13.3 mysql常用命令
笔记日期:2017-10-30
13.1 设置更改root密码
root是mysql的最高权限用户,和Linux的root概念一样。默认情况下,mysql的root用户密码是空的,可以直接登录。但是这样不安全,所以要设置密码。
如果mysql命令没有加入到PATH中,要先加入进去,才能直接使用mysql命令,不然就得使用绝对路径,命令如下:
export PATH=$PATH:/usr/local/mysql/bin/
然后再使用mysql -uroot命令,就可以直接登录mysql了:
想要这个环境变量永久生效,就需要配置到profile里:
vim /etc/profile
然后再重新加载此文件:
source /etc/profile
mysql的-p是指定密码,但是现在还没有密码,所以直接回车即可:
退出mysql使用exit或者quit。
设置密码使用如下命令:
mysqladmin -uroot password '123456'
设置完密码之后,就不能直接使用mysql -uroot登录了:
那我们就使用mysql -uroot -p命令来指定密码:
以下这种更改root密码的方式需要知道原本的密码才能进行更改,不然无法更改,也是使用mysqladmin命令进行更改,如下示例:
现在就需要使用更改后的密码来登录mysql了:
如果你不知道root的密码,或者忘记了,还有另一种方式可以重置密码,首先编辑my.cnf配置文件在[mysqld]下加入如下内容:
这一句是用来跳过密码,忽略密码的
修改完之后,重新启动服务:
service mysqld restart
重启之后直接使用mysql -uroot就可以直接登录了:
登录进去之后,我们需要通过一个表来更改密码,首先使用use mysql; 选择mysql库:
然后使用desc user; 可以查看user表的表结构,在表结构中可以看到User和Password的字段:
我们现在要修改的就是Password这个字段,sql语句如下:
update user set password=password('12345') where user='root';
修改完后,退出mysql,然后将my.cnf的那个跳过密码那一句给注释掉:
vim /etc/my.cnf
然后重启mysql,这时登录就需要使用你更改后的密码了:
13.2 连接mysql
介绍一下几种常用的连接mysql的命令:mysql -uroot -p12345
这个命令,是较为常用的,连接本机的mysql命令,刚才也使用到了这个命令来连接mysql,在这就不赘述了。
mysql -uroot -p12345 -h227.0.0.1 -P3306
这个命令是连接远程的mysql,例如A机器要连接B机器的mysql,就需要使用这个命令,示例:
mysql -uroot -p12345 -S/tmp/mysql.sock
这个命令是通过sock来进行连接mysql,在Linux/Unix操作系统中有一种通信方式使用的就是sock,但是这种方式仅能用于本机,所以实际上和第一种命令是一样的:
mysql -uroot -p12345 -e “show databases”
这个命令是通过-e选项在登录时执行一条sql语句,这条sql语句是用来列出mysql中所有的数据库的,这种情况一般使用在shell脚本里:
13.3 mysql常用命令
mysql的命令需要登录进mysql才能进行执行,所以在这之前才要介绍如何去连接mysql,既然知道如何连接mysql后就开始使用一下mysql的常用命令吧:查询库 show databases;这个命令刚才也用到过:
切换库 use mysql; 这条命令是切换到了mysql库下:
查看库里所有的表 show tables;
查看表里的字段 desc tb_name; 库包含着表,而表包含着字段:
查看建表语句 show create table tb_name\G; 如果不加G会显示得很乱:
查看当前用户 select user(); 这个user()是一个函数:
如果你用的是远程登录,那么这里显示的是root@主机名,本地登录才会显示root@localhost
在root目录下的.mysql_history文件里记录着mysql的命令历史:
查看当前使用的数据库 select database();
现在没有选择数据库,所以显示null,要选择一个数据库,才会显示当前数据库的名称:
创建库 create database db1;
创建表 use db1; create table t1(`id` int(4), `name` char(40));
这时我们使用show create table t1\G;语句就可以看到这个表的创建语句,末尾跟的是默认的引擎和默认的字符集:
如果不想使用这个默认的字符集,可以在创建表的时候指定其他的字符集,示例:
查看当前数据库版本 select version();
查看数据库状态 show status;
查看各参数 show variables; 会列出很多内容:
查看具体的参数,例如我要查看max_connect_errors参数:
show variables like 'max_connect_errors';
如果想要查看某个参数,但是不记得完整的名称了,可以使用模糊查询:
show variables like 'max_connect%';
修改参数 set global max_connect_errors=1000;
需要永久生效需要去my.cnf里修改
查看队列 show processlist; 查看队列相当于在Linux使用ps或者top命令查看系统状况一样:
查看完整的队列show full processlist;
扩展
mysql5.7 root密码更改
http://www.apelearn.com/bbs/thread-7289-1-1.html
myisam 和innodb引擎对比
http://www.pureweber.com/article/myisam-vs-innodb/
mysql 配置详解:
http://blog.linuxeye.com/379.html
mysql调优:
http://www.aminglinux.com/bbs/thread-5758-1-1.html
同学分享的亲身mysql调优经历:
http://www.apelearn.com/bbs/thread-11281-1-1.html