欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySql 常用命令与配置

程序员文章站 2024-03-13 16:26:51
...

tree命令

作用

tee 命令会将在控制台的执行操作过程,包含结果,输出到一个文件中。

使用

进入mysql,输入:

tee /home/mypath/myfile.txt

你在控制台做的每个操作,都会记录到myfile.txt 文件中

通过启动参数带入tee:

mysql -uroot -p --tee=/home/mysql/tmp/ceshi.log

配置配置文件,自动启用tee:

[client]port = 3306
socket = /usr/local/mysql/tmp/3306/mysql.sock
default-character-set = utf8
tee = /home/mysql/tmp/result.log

\g、\G、分号的区别

\g 的作用是分号和在sql语句中写’;’是等效的
\G 的作用是将查到的结构旋转90度变成纵向

mysql> create table mytable(id int)\g
Query OK, 0 rows affected (0.21 sec)

mysql> show create table mytable \g
+---------+-------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+-------------------------------------------------------------------------------------------+
| mytable | CREATE TABLE `mytable` (
  `id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+---------+-------------------------------------------------------------------------------------------+
1 row in set (0.04 sec)

列明过多,不好观察:

mysql> show create table mytable \G
*************************** 1. row ***************************
       Table: mytable
Create Table: CREATE TABLE `mytable` (
  `id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

区分大小写配置

在Oracle中,表明是不区分大小写的,而在Mysql中(仅谈Linux下),Mysql的数据库名称以及表名称,列名称,都是区分大小写 的。

要想不区分大小写,可以在my.ini添加如下配置:

[mysqld]
# 0:区分大小写 (默认)
# 1:不区分大小写
lower_case_table_names=1

修改完成后,需要重启数据库。

如果想让个别表区分大小写,则需要给字段设置BINARY属性;设置方法有如下几种:

CREATE TABLE T(
    A VARCHAR(10) BINARY
);

ALTER TABLE`tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

注意
修改策略后,会导致原来的大写表名无法识别,所以需要预先备份表结构和数据,然后修改完成后导入。

修改Mysql时区

vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]下增加:

default-time-zone = '+08:00'