Mysql之常用操作

Mysql之常用操作

  • 环境:mysql 5.7.14

前言

这里记录mysql的一些操作用作应用。

用户相关

修改用户名密法

1
$ /usr/local/mysql/bin/mysqladmin -u root password

创建用户并授权

1
2
$ CREATE USER 'username'@'%' IDENTIFIED BY 'password';
$ GRANT all privileges ON databasename.* TO 'username'@'%' with grant options

字符设置

场景一:utf8字符集数据库需要修改为utf8mb4

首先,先查询当前mysql是否支持utf8mb4,如果支持,修改my.cnf,重启mysql,再修改表或者表字段字符集。

1
2
3
4
5
## 配置my.cnf
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

查询字符集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
## 查看数据库支持字符集
$ show variables like'%char%';
character_set_client utf8mb4 //客户端字符集
character_set_connection utf8mb4 //链接字符集
character_set_database utf8mb4 //数据库字符集
character_set_filesystem binary
character_set_results utf8mb4 //结果字符集
character_set_server utf8mb4 //服务器字符集
character_set_system utf8mb4 //系统字符集
character_sets_dir /usr/local/mysql/share/charsets/
## 查看mysql支持的字符集
$ show charset;
## 查看当前数据库编码:
$ SHOW CREATE DATABASE db_name;
## 查看表编码:
$ SHOW CREATE TABLE tbl_name;
## 查看字段编码:
$ SHOW FULL COLUMNS FROM tbl_name;

修改字符集

1
2
3
4
5
6
## 修改数据库字符
¥ ALTER DATABASE [database_name] CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
## 修改表字符集
$ ALTER TABLE [table_name] CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
## 修改表字段字符集
$ ALTER TABLE [table_name] MODIFY COLUMN [column] varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Tip:为了实现客户端utf8连接到MySQL后,使用的也是utf8mb4字符集,就在 mysqld配置中配置了 init_connect=’SET NAMES utf8mb4’ 表示初始化连接都设置为utf8mb4字符集,再配置一个 skip-character-set-client-handshake = true 忽略客户端字符集设置,不论客户端是何种字符集,都按照init_connect中的设置进行使用,这样就满足了应用的需求

1
2
3
4
5
6
7
8
9
10
## 配置my.cnf
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
character-set-client-handshake = true
坚持原创技术分享,您的支持将鼓励我继续创作!
Fork me on GitHub