是开始但愿不是结束,是起点但愿不是终点
今天在做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选项,可以通过帮助文档查看
谢谢大家的阅读,技术学习之路还很长,愿与你一起成长!