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

偶尔用得上的MySQL操作

程序员文章站 2024-01-27 21:30:10
数据库编码 查看数据库编码 切换数据库编码 修改自增ID 创建表格时设置自增ID从N开始: 让自增ID从默认值开始, 但是注意:这个命令会清空数据包记录! 设置user表自增ID从123456开始 无法远程登录 在已经修改配置文件中的地址为 但仍然无法远程登录的情况下, 一般是需要对数据库中的账户信 ......

数据库编码

查看数据库编码

use xxx
show variables like 'character_set_database';

切换数据库编码

alter database xxx character set gb2312;

修改自增id

创建表格时设置自增id从n开始:

create table table_1 (
        id int unsigned not null primary key auto_increment,
        name varchar(5) not null 
    )
auto_increment = 100;

让自增id从默认值开始, 但是注意:这个命令会清空数据包记录!

truncate table table1

设置user表自增id从123456开始

alter table users auto_increment=123456;

无法远程登录

在已经修改配置文件中的地址为 0.0.0.0 但仍然无法远程登录的情况下, 一般是需要对数据库中的账户信息进行修改

授权用户 (推荐)

mysql>grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;

直接修改 user

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';

以上方法操作完成后还需执行 flush privileges; 刷新一遍权限

远程连接速度慢

有时远程连接到 mysql 用时会很久, 同时本地连接 mysql 正常. 出现这种问题的主要原因是默认安装的 mysql 开启了 dns 的反向解析.

mysql dns 反向解析

mysql 接收到连接请求后,获得的是客户端的ip,为了更好的匹配 mysql.user 里的权限记录(某些是用 hostname 定义的).
如果mysql服务器设置了dns服务器, 并且客户端 ip 在 dns 上并没有相应的hostname, 那么这个过程很慢, 导致连接等待.

禁用 dns 反向解析

在 mysql 的配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf[mysqld] 添加 skip-name-resolve 即可禁用 dns 反向解析, 加快远程连接的速度. 同时这样配置后不能在 mysql 的授权表中使用主机名了, 只能使用ip.