五十二、设置更改root密码、连接MySQL、MYSQL常用命令

一、设置更改root密码

root用户是MySQL的超级管理员用户,这个root和系统的root并不是一个用户,需要区分开,也可以创建普通用户来连接MySQL。

默认的MySQL的root用户密码是空的,可以直接连接上。

# ps aux |grep mysql          先检查mysql有没有打开

# /etc/init.d/mysqld start

# mysql -uroot

-bash: mysql: 未找到命令

因为mysql这个命令没有在环境变量中,所以这个命令不能直接使用。

# ls /usr/local/mysql/bin/mysql      mysql命令的路径

/usr/local/mysql/bin/mysql

# echo $PATH           环境变量中没有mysql命令的路径

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

# export PATH=$PATH:/usr/local/mysql/bin/    更改环境变量,加一个

# 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>

要想这条命令永久生效,还要把这条命令放到/etc/profile下面,放到最后面,就可以了。

# source /etc/profile   加完以后,需要执行这条。使变量立即生效。

# mysql -uroot -p      //-p,指定root的登录密码,现在是空,直接回车。

在这个里面就可以操作MySQL的行为,先quit退出。

# mysqladmin -uroot password '123456'

Warning: Using a password on the command line interface can be insecure.

警告:在命令行界面上使用密码可能是不安全的。

再次登录时就需要输入登录密码了,不然登不进。

知道密码时更改密码:

# mysqladmin -uroot -p'123456' password '1234'

Warning: Using a password on the command line interface can be insecure.

这个提示不用管,和上面的设置密码的一样。

# mysql -uroot -p'1234'   登录,指定登录密码时加上单引号,防止有些符号命令行无法识别。

不知道密码时更改密码:

# vim /etc/my.cnf

[mysqld]          在mysqld这部分

skip-grant       加上这一行,意思是忽略授权,就不用用户名密码可以直接登录了。

datadir=/data/mysql

socket=/tmp/mysql.sock

# /etc/init.d/mysqld restart      重启服务才能生效

# mysql -uroot       直接回车就进去了,要在里面更改一个user表。

user表:存用户密码的表。

mysql> use mysql;             use mysql,切换到mysql库。

mysql> select * from user;      查看一下这个表。

mysql> select password from user;

+------------------------------------------------------------------------+

| password                                                                           |

+------------------------------------------------------------------------+

| *A4B6157319038724E3560894F7F932C8886EBFCF |

| 这里可以看到密码的加密字符串                                       |

|                                                                                            |

|                                                                                            |

|                                                                                            |

|                                                                                            |

+------------------------------------------------------------------------+

6 rows in set (0.00 sec)

这个密码实际上是用password这个函数来生成的,所以改密码时也需要用这个函数来加密。

用这条命令来更改密码:

update user set password=password('12345')where user='root';

Query OK, 4 rows affected (0.08 sec)

Rows matched: 4  Changed: 4  Warnings: 0

这样密码就改完了,然后quit退出来,还需要把刚才加的skip-grant删掉。

# /etc/init.d/mysqld restart

# mysql -uroot -p12345   -p后面不要加空格,加空格就错了。

二、连接MySQL

# mysql -uroot -p12345   连接本机

# mysql -uroot -p12345 -h127.0.0.1 -P3306

连接远程,-h指定目标IP,-P指定端口,比如从A服务器连接B服务器的MySQL,这里以连接本机为示范,如果不指定端口默认就是3306。

# mysql -uroot -p12345 -S/tmp/msyql.sock

使用sock连接,这种情况只适合在本机。

# mysql -uroot -p12345 -e "show databases"

连接MySQL之后操作一些命令,这个命令是把所有的数据库列出来。这个情况使用在shell脚本里。

三、MySQL常用命令

查询库show databases;

切换库use mysql;

查看库里的表show tables;

查看表里的字段desc tb_name;       示例:desc user;

查看建表语句show create table tb_name\G;    \G:竖排显示,先头的select * from user\G;也可以加上\G,显示就很清晰了。

查看当前用户select user();

查看当前使用的数据库select database();

有些命令是MySQL里面的,不能在MySQL外面执行,Linux是无法识别。

# mysql -uroot -p12345 -h192.168.93.130      用别的IP登录再查看就不是localhost了,会反解析登录的用户名。

mysql> select user();

+----------------+

| user()          |

+----------------+

| [email protected] |

+----------------+

1 row in set (0.01 sec)

mysql> select database();

+------------+

| database() |

+------------+

| NULL       |  当前数据库是空,当切换到mysql时,显示的就是mysql。

+------------+

1 row in set (0.00 sec)

mysql命令历史的文件:.mysql_history

创建库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;

可以通过修改/etc/my.cnf修改参数,也可以临时修改在内存中生效。

查看队列show processlist;show full processlist;

这个就相当于Linux的ps或者top命令,加上full就更完整,查看当前MySQL在干什么,哪些用户在连接,他连接它的时候在执行什么操作,有没有锁表。

mysql> create database db1;

Query OK, 1 row affected (0.29 sec)

mysql> use db1;

Database changed

mysql> create table t1(`id` int(4), `name` char(40));

Query OK, 0 rows affected (0.40 sec)

表名是t1,定义字段id和name,格式是int和char,字符串最长4和40。

mysql> show create table t1\G;     查看t1的建表语句

*************************** 1. row ***************************

Table: t1

Create Table: CREATE TABLE `t1` (

`id` int(4) DEFAULT NULL,

`name` char(40) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 row in set (0.28 sec)

ERROR:

No query specified

InnoDB的引擎,latiin1的字符集,这个都可以自定义。

create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

命令前面加一个#就不会生效了。

mysql> drop table t1;            先删除这个表

再来执行这条定义字符集的命令:

create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.34 sec)

mysql> show create table t1\G;     再查看就显示的是utf8了。

*************************** 1. row ***************************

Table: t1

Create Table: CREATE TABLE `t1` (

`id` int(4) DEFAULT NULL,

`name` char(40) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

ERROR:

No query specified

mysql> select version();      查看数据库版本5.6.36

+-----------+

| version() |

+-----------+

| 5.6.36    |

+-----------+

1 row in set (0.00 sec)

原文地址:http://blog.51cto.com/13576245/2113766

时间: 2024-10-13 01:40:26

五十二、设置更改root密码、连接MySQL、MYSQL常用命令的相关文章

设置更改root密码 连接mysql mysql常用命令

一.设置更改root密码#/etc/init.d/mysqld start#ps aux |grep mysql#mysql -uroot //提示-bash: mysql : 未找到命令#ls /usr/local/mysql/bin/mysl //mysql实际启动路径#echo $PATH //查看PATH环境变量/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin#export PATH=$PATH:/usr/local/

13.1 设置更改root密码;13.2 连接MySQL;13.3 MySQL常用命令

扩展 : 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 同学

52.mysql命令:设置更改root密码、连接mysql、mysql常用命令

一.设置更改root密码 ps -ef |grep mysql //查看mysql是否启动,如果没有启动就执行下面命令启动 /etc/init.d/mysqld start 登陆mysql需要执行下面的命令 /usr/local/mysql/bin/mysql -uroot exit 或者quit退出mysql 为了方便使用更改环境变量PATH,增加mysql绝对路径 export PATH=$PATH:/usr/local/mysql/bin/ 若需要修改永久环境变量则修改文件: vim /e

Linux centosVMware MySQL常用操作设置更改root密码、连接mysql、mysql常用命令

一.设置更改root密码 启动mysql /usr/local/mysql/bin/mysql -uroot 报错 vi my.cnf里面socket路径改成/tmp/mysql.sock,并做了一个软链接:ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 后才正常 更改环境变量PATH,增加mysql绝对路径 mysqladmin -uroot password 'mimA123' mysql -uroot -pmimA123 使用-p命令加密码就

mysql的设置更改root密码、连接、常用命令

13.1 设置更改root密码 更改环境变量PATH ,增加mysql绝对路径首次直接使用mysql会提示'该命令不存在',原因是还没有将该命令加入环境变量,如果要使用该命令,需要使用其绝对路径:/usr/local/mysql/bin/mysql,为了方便,先将其加入系统环境变量: [[email protected] ~]# export PATH=$PATH:/usr/local/mysql/bin/ mysql命令路径暂时加入环境变量,系统重启后该变量会失效,若要永久生效,需要将其加入环

设置更改root密码、连接MYSQL、MYSQL常用命令

设置更改root密码 默认的mysqlroot用户的密码是空的,但是这样是不安全的,所以我们是需要配置安全密码的 #mysql -uroot mysq命令默认是不存在的,因为mysql安装在/usr/local/mysql/bin下,环境变量里面不存在mysql命令,需要将命令加在环境变量里面 #export PATH=$PATH:/usr/local/mysql/bin ,想永久生效需要放在/etc/profile里面,然后执行#source /etc/profile #vim /etc/pr

13.1 设置更改root密码13.2 连接mysql13.3 mysql常用命令

13.1 设置更改root密码查看mysql是否有启动,没有启动就先要启动将mysql加入变量PATH,再运行mysql uroot就可以执行了如果要让变量永久生效就加入/etc/profile下vi /etc/profile设置密码mysqladmin -uroot password '789159'再运行mysql uroot就无法登陆了,需要加-p,运行mysql uroot -p就可以登陆了更改密码还有一种情况不知道密码,可以取消受权,不用用户名与密码就可以登陆了vi /etc/my.c

MySQL常用操作(1)设置更改root密码、连接MySQL、MySQL常用命令

设置更改root密码 设置mysql的root用户密码:(默认为空) 1.查看mysql任务是否开启:ps aux |grep mysql 若无开启则-->/etc/init.d/mysqld start 2.登录mysql : /usr/local/mysql/bin/mysql -uroot (单独在命令行运行mysqlm命令是不生效的,因为mysql命令并不是在PATH 环境变量中定义) 若想不用在命令行中敲写绝对路径: (1)临时生效(重启失效) export PATH=$PATH:/u

mysql设置更改root密码、mysql服务器的连接、mysql常用命令

 1.设置更改root密码 查看mysql 启动与否,若没启动就运行:/usr/local/mysql56/bin/mysqlps aux |grep mysql  或 netstat -tulnp |grep 3306运行mysql 命令,会出现: -bash: mysql: command not found就把mysql 添加到环境变量:临时添加:PAHT=$PATH:/usr/local/mysql56/bin永久添加:echo "export PATH=$PATH:/usr/local