MySQL 数据库基础维护

1 MySQL用户管理

1.1 查询用户

 

mysql> use mysql;
mysql> select * from user;

 

1.2 创建用户

#主机名可使用%表示所有的主机
mysql> create user '用户名'@'主机名' identified by '密码';

 

1.3 删除用户

mysql> drop user 'mytest'@'localhost';

 

1.4 修改用户密码

#可选下面两种写法
mysql> update user set password = password('new_password') where user = 'mytest';
mysql> set password for 'mytest'@'localhost' = password('new_password');

 

2 MySQL 权限管理

2.1 查看用户权限

#show grants for '用户名'@'主机名'
mysql> show grants for 'mytest'@'%';

 

2.2 用户授权

#grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'; (多个权限需要使用逗号隔开)
mysql> grant all on *.* to 'mytest'@'%';

 

2.3 取消权限

#revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
mysql> revoke select on company.account from 'mytest'@'%';

 

3 MySQL 四种连接方式

3.1 TCP/IP

TCP/IP连接方式是MySQL在任何平台都提供的一种连接方式,通过TCP/IP连接建立一个网络连接

mysql -uroot -h127.1 -p

 

远程连接的客户端连接的用户有权限才可以被连接 , 可通过查询 schema mysql 中的 user 表来得知用户是否具有连接权限

3.2 Unix Socket

在Linux与Unix环境下,可使用Unix套接字连接,只能在MySQL客户端与数据库实例在同一台服务器的情况下使用

mysql -u root -S /tmp/mysql.sock

 

-S 是 --socket 的简写形式 , 其值必须与服务器配置文件中指定路径相同,此类连接性能优于TCP/IP

3.3 Named Pipe

仅用于Windows下的连接,性能优于TCP/IP 30%~50%

mysql -u username -p password --protocol=pipe [ --socket=mysql ]

 

3.4 Shared Memory

在4.1版本之后 , MySQL对Windows系统还提供了共享内存的连接方式

mysql --protocol=memory --shared-memory-base-name=mysql

 

4 MySQL 字符集设置

4.1 查看当前数据库字符集

mysql> show variables like '%character%';
+--------------------------+-----------------------------------------------------+
| Variable_name            | Value                                               |
+--------------------------+-----------------------------------------------------+
| character_set_client     | utf8                                                |
| character_set_connection | utf8                                                |
| character_set_database   | utf8mb4                                             |
| character_set_filesystem | binary                                              |
| character_set_results    | utf8                                                |
| character_set_server     | utf8mb4                                             |
| character_set_system     | utf8                                                |
| character_sets_dir       | /usr/local/Percona-Server-5.7.19-17/share/charsets/ |
+--------------------------+-----------------------------------------------------+
8 rows in set (0.00 sec)

 

4.2 设置字符集

  • 创库时设置

mysql> create database db default character set=utf8;

 

创表时设置

create table tb(a char(2) not null primary key)default character set=utf8mb4;

 

创库后设置

mysql> alter database db default character set gbk;

 

创表后设置

mysql> alter table tb convert to character set utf8;

字段级设置mysql> alter table tb modify 备注 text character set utf8mb4;
/*建立连接使用的编码*/

mysql> set character_set_connection=utf8;
/*数据库的编码*/
mysql> set character_set_database=utf8;
/*结果集的编码*/
mysql> set character_set_results=utf8;
/*数据库服务器的编码*/
mysql> set character_set_server=utf8;
mysql> set character_set_system=utf8;
mysql> set collation_connection=utf8;
mysql> set collation_database=utf8;
mysql> set collation_server=utf8;

/*建立连接使用的编码*/
mysql> set character_set_connection=utf8;
/*数据库的编码*/
mysql> set character_set_database=utf8;
/*结果集的编码*/
mysql> set character_set_results=utf8;
/*数据库服务器的编码*/
mysql> set character_set_server=utf8;
mysql> set character_set_system=utf8;
mysql> set collation_connection=utf8;
mysql> set collation_database=utf8;
mysql> set collation_server=utf8;

set指令仅临时生效,永久生效需设置到my.cnf文件

MySQL 数据库基础维护

文章链接: https://www.mfisp.com/9591.html

文章标题:MySQL 数据库基础维护

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
建站教程投稿分享

MySQL数据库的安装部署

2022-9-1 15:46:33

建站教程投稿分享

MySQL数据表操作

2022-9-2 14:24:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠