MySQL之MySQL:prompt 设置 -登陆MySQL显示用户名和主机以及当前数据库

是开始但愿不是结束,是起点但愿不是终点


今天在做MySQL练习过程中,突然发现,登陆mysql后,命令行不能显示用户名和主机信息,同时呢,想查看数据库信息还需要查看select datebase()命令查看,特别不方便,因此特别查看了mysql的相关资料,每次通过客户端登陆怎么才能显示这些信息呢?其实MySQL的相关设置都在配置文件my.cnf中可以设置。因此就去看my.cnf文件,之前就使用下,没有细心看。my.cnf配置文件中两大部分:[client]和[mysqld],前者是客户端的配置参数,后者是服务端的配置参数,既然问题是:客户端登陆MySQL服务显示相关信息,那么配置应该在[client]当中,那么应该如何设置呢?请看下文一一解答。

实验环境:

[[email protected] ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)
MySQL版本:
Server version: 5.6.33-log MySQL Community Server (GPL)

默认情况连接到 mysql 库后不会显示当前连接的数据库名。如下图,

这样在登陆MySQL后每次都看不到当前用户和主机名以及当前的数据库信息,给维护工作带来不便。其实在登陆MySQL后可以通过设置MySQL配置文件的方式,显示以上信息。方法:修改MySQL配置文件/etc/my.cnf中的[mysqld]中的prompt选项。过程如下:

(1)打开MySQL的配置文件:编辑/etc/my.cnf 添加以下如下红颜色一行

[[email protected] ~]# vi /etc/my.cnf

[client]

port = 3306

socket = /tmp/mysql.sock

prompt="\\[email protected]\\h:\\d>"

#character_set_server = utf8

#character_set_client = utf8

[mysqld]备注:设置后重启MySQL 服务。 \u 表示用户名,  \h 表示主机名, \d 表示当前数据库。

设置格式可以添加相关符号比如[]等

(2)重启 MySQL 服务

[[email protected] ~]# /etc/init.d/mysql restart

Shutting down MySQL...... SUCCESS!

Starting MySQL.................. SUCCESS!

(3)连接测试

[[email protected] ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.33-log MySQL Community Server(GPL)
 
Copyright (c) 2000, 2016, Oracle and/or itsaffiliates. All rights reserved.
 
Oracle is a registered trademark of OracleCorporation and/or its
affiliates. Other names may be trademarks of theirrespective
owners.
 
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clearthe current input statement.

[email protected]:(none)>use mysql

Reading table information for completion of tableand column names

You can turn off this feature to get a quickerstartup with -A

Database changed

[email protected]:mysql>use test

Reading table information for completion of tableand column names

You can turn off this feature to get a quickerstartup with -A

Database changed

[email protected]:test>

说明:

关于配置文件/etc/my.cnf的修改中,prompt选项,可以通过帮助文档查看

--prompt 更多设置可以查看MySQL命令帮助

谢谢大家的阅读,技术学习之路还很长,愿与你一起成长!

时间: 2024-10-14 03:43:16

MySQL之MySQL:prompt 设置 -登陆MySQL显示用户名和主机以及当前数据库的相关文章

Linux CentOS下shell显示-bash-4.1$ 不显示用户名和主机名的解决方法

CentOS下新增加一个用户,登录进去会发现shell脚本信息没有显示用户名和主机名,反而显示的是-bash-4.1$,如图所示: 而不是我们经常看到的[email protected]$的组合,看起来特别别扭不舒服. 问题的原因是因为没有配置.bash_profile的问题,或者说没有这个文件的问题,可以通过配置或者新建这个文件来解决问题. 解决方案: 1.在新建用户的-目录下新建或者更改.bash_profile:这个过程中可能需要root用户来新建或者修改 2.在.bash_profile

MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库

Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; IDENTIFIED BY后跟的是密码,可设为空. 2. FLUSH privileges; 更新 Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作: 一.允许ro

.net System.Web.Mail发送邮件 (设置发件人 只显示用户名)

http://blog.163.com/hao_2468/blog/static/130881568201141251642215/ .net System.Web.Mail发送邮件 2011-05-12 17:16:42|  分类: asp.net学习 |  标签:.net发送邮件  |举报|字号 订阅 net System.Web.Mail发送邮件 用System.Web.Mail发送邮件,适用于.net1.1.net2.0请用System.Net.Mail 先引用System.Web 1,

部署mysql后,无法设置用户远程登陆(%只所有用户,不可以,只能给指定的ip?)

MySQL允许远程访问的设置 1.注释bind-address = 127.0.0.1. 代码如下: >sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address = 127.0.0.1注释掉(即在行首加#),如下: 代码如下: # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and

mysql增删改查、登陆关闭、密码修改破解应用

################################################################################## 启动关闭和登陆 ################################################################################## 1单实例 mysqld_safe --user=mysql &  #启动服务 mysqladmin -uroot -pwsyht shutdown  #

MySQL编码设置方法 MySQL编码为utf8设置方法

mysql的默认编码是拉丁,我每次JSP制作网页用insert语句插入数据库时汉字都会显示成问号,安装mysql后,启动服务并登陆,使用show variables命令可查看mysql数据库的默认编码: 由上图可见database和server的字符集使用了latin1编码方式,不支持中文,即存储中文时会出现乱码.以下是命令行修改为utf-8编码的过程,以支持中文. (1)关闭mysql服务 [plain] view plaincopy service mysql stop (2)修改 /etc

mysql中为int设置长度究竟是什么意思

根据个人的实验并结合资料:1.长度跟可以使用的值的范围无关,值的范围仅跟类型对应的存储字节数和是否unsigned有关:2.长度指的是显示宽度,比如,指定3位int,那么id为3和id为300的值,在显示的时候怎么对齐呢?按照手册的说法,是默认用“空格”在左边填充.比如下述表格 CREATE TABLE `inttest` ( `id` int(3) unsigned NOT NULL AUTO_INCREMENT, `value` varchar(2) NOT NULL, PRIMARY KE

如何设置mysql远程访问及防火墙设置

笔者在一个实际的项目中需要MYSQL远程访问. 情景: 安装好Mysql, 本地访问正常,很奇怪局域的机器都无法访问该服务器上的MYSQL数据库. 经过资料查找 原来Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 . 在MySQL Server端: 登陆MYSQL   ..bin\ mysql -h localhost -u root -p 提示你输入密码,输入密码后进入 mysql 命令模式, mysql> use mysql;    mysql> GRANT AL

关于mysql的wait_timeout参数 设置不生效的问题【转】

关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeout';+---------------+-------+| Variable_name | Value |+---------------+-------+| wait_timeout | 100 |+---------------+-------+1 row in set (0.00 sec) mysq