MYSQL命令行工具自动登录的方法
1. 需求提出
由于在linux 环境下,经常需要使用mysql(command-line tool) 终端连接到MYSQL DB服务。
其中大致的语法如下: mysql [options] db_name 比较重要的option 参数有: --database=db_name, -D db_name --host=host_name, -h host_name --password[=password], -p[password] --port=port_num, -P port_num --user=user_name, -u user_name 下面是一个调用例子: mysql -h10.6.28.90 -uroot -Dtest -P3306 -p
每次登录的时候都需要输入这么多参数,严重的影响工作效率,能否有比较简单的方式呢?
2. 解决方法
在linux 操作系统自己的工作目录下,一般是 "/data/你的用户名称" 或者 "/home/你的用户名称" 下面建立一个
.my.cnf 的文件,配置内容如下:
[client] user=root port=3306 host=10.6.28.90 database=test database=test password=MYsql3306
最后,把.my.cnf 的其他文件属性都去掉,只保留其属主可读属性,可见下面的参考。
mark@PAY:~> cat .my.cnf [client] user=root port=3306 host=10.6.28.90 database=test password=MYsql3306 mark@PAY:~> ls -al .my.cnf -r-------- 1 mark users 78 2013-08-13 10:52 .my.cnf
3. 测试结果
4. 工作原理
mysql 命令行启动的时候,会读取配置文件 Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 这个可以使用mysql 的系统命令; mysql/bin/my_print_defaults
查看。
如果上面的目录都存在文件,那最后一个文件的配置会覆盖前一个文件的配置。
所以,优先级别最低的 ~/.my.cnf 文件配置最终被使用,顺利的登录。