mysql的一些操作

加速导入

# 关闭日志,0是关闭,1是开启
set sql_log_bin=OFF;
select @@sql_log_bin;

# 关闭autocommit自动提交模式 0是关闭  1 是开启(默认)
set autocommit=0;
select @@autocommit;

commit;和rollback;

# 还有因为autocommit是session级别的,我们重新登录,或者重新打开navicat中的查询页面,都需要单独设置。
就是说 在查询页面中执行插入语句 或者 在命令行导入时的场景,要记得手动设置提交。
3.1 通过以下语句查看下当前packet的大小限制,下图显示笔者mysql默认支持64Mb大小的packet传输。
show variables like '%max_allowed_packet%';
或者
select @@max_allowed_packet;

3.2 MySQL 8.0单个packet可以允许的最大值是1GB,最小为1K。这里的最大 意味着您即使设置了2Gb,实际上也只能传输1Gb内的packet。 
# 数据换算:1073741824 = 1024 * 1024 * 1024 = 1Gb
set global max_allowed_packet = 1073741824;

3.3 然后查询下配置是否已生效, 切记 不要去重启mysql服务,重新打开navicat查询界面语句 查询下即可。
因为目前未将配置写入my.ini文件,重启mysql将导致配置失效,回退到原64Mb大小。
select @@max_allowed_packet;

常见操作

登录成功后执行如下命令

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

或者

set password for'root'@'localhost'=password('MyNewPass4!');

关于密码设置

如果只是修改为一个简单的密码,会报以下错误:

mysql>  ALTER USERUSER() IDENTIFIED BY '12345678';
ERROR 1819 (HY000): Your password does not satisfy thecurrent policy requirements

这个其实与validate_password_policy的值有关。

validate_password_policy有以下取值:

Policy  TestsPerformed
0 or LOW    Length
1 or MEDIUM     Length;numeric, lowercase/uppercase, and special characters
2 or STRONG       Length;numeric, lowercase/uppercase, and special characters; dictionary file

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

首先,修改validate_password_policy参数的值

set global validate_password_policy=0;

Query OK, 0 rows affected (0.00 sec)

这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

导入导出

1. 导出数据和表结构:

mysqldump -u用户名 -p密码数据库名 > 数据库名.sql

#/usr/local/mysql/bin/  

mysqldump -uroot -p abc > abc.sql

敲回车后会提示输入密码

2. 只导出表结构

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql

#/usr/local/mysql/bin/
mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/ ---> mysql的data目录

3. 导入数据库

1、首先建空数据库

create database abc;

2、导入数据库

方法一:

(1)选择数据库

use abc;

(2)设置数据库编码

set names utf8;

(3)导入数据(注意sql文件的路径)

source /home/abc/abc.sql;

方法二:

mysql -u用户名 -p密码数据库名 < 数据库名.sql

mysql -uabc_f -p abc < abc.sql

常用设置

1、 设置表格字符集

举例如下:

CREATE TABLE `Customers` (

  `cust_id` char(10) NOT NULL,

  `cust_name` char(50) NOT NULL,

  `cust_address` char(50) DEFAULT NULL,

  `cust_city` char(50) DEFAULT NULL,

  `cust_state` char(5) DEFAULT NULL,

  `cust_zip` char(10) DEFAULT NULL,

  `cust_country` char(50) DEFAULT NULL,

  `cust_contact` char(50) DEFAULT NULL,

  `cust_email` char(255) DEFAULT NULL,

  PRIMARY KEY (`cust_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

results matching ""

    No results matching ""