MySQL容器配置及数据挂载到本地路径

mkdir /data/docker/jiashunx-mysql
mkdir /data/docker/jiashunx-mysql/conf
mkdir /data/docker/jiashunx-mysql/data
vi /data/docker/jiashunx-mysql/conf/my.cnf
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

启动mysql容器:

docker run -d -p 3306:3306 --privileged=true --name jiashunx-mysql -v /data/docker/jiashunx-mysql/conf/my.cnf:/etc/mysql/my.cnf -v /data/docker/jiashunx-mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12335678 mysql:5.7.27

-d 表示使用守护进程运行,即服务挂在后台
-p 端口映射,容器内部(第二个参数)3306端口映射到本机端口(第一个)3306
-e MYSQL_ROOT_PASSWORD 初始化root用户密码
--name 容器名称
-privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /data/docker/jiashunx-mysql/conf/my.cnf:/etc/mysql/my.cnf 映射mysql配置文件
-v /data/docker/jiashunx-mysql/data:/var/lib/mysql 映射数据存储目录

执行jiashunx-mysql容器命令

docker exec -it jiashunx-mysql bash
mysql -u root -p 12335678
create database solo default character set utf8mb4 collate utf8mb4_general_ci;
create user 'solo'@'%' identified by '1234.abcd';
grant all privileges on solo.* to solo;
flush privileges;
mysql -u solo -p solo (指定使用solo数据库)

MySQL workbench 连接后:
10:13:03 Error loading schema content Error Code: 1142 SELECT command denied to user 'solo'@'27.42.111.210' for table 'user_variables_by_thread'
没有select权限
UPDATE user SET select_priv='Y', alter_priv='Y', update_priv='Y', insert_priv='Y', delete_priv='Y', create_priv='Y', drop_priv='Y' WHERE User = 'solo';

说明xxxx用户没有ALTER权限。
到mysql中,
mysql> SELECT alter_priv FROM user WHERE User = 'solo';
发现alter_priv = 'N',果然没有权限。
修改权限:
mysql> UPDATE user SET alter_priv='Y' WHERE User = 'solo';
mysql> flush privileges;

另附上完整的MySQL赋权语句

UPDATE user SET select_priv='Y', alter_priv='Y', update_priv='Y', insert_priv='Y', delete_priv='Y', create_priv='Y', drop_priv='Y', execute_priv='Y', reload_priv='Y', index_priv='Y', show_db_priv='Y', create_tmp_table_priv='Y', lock_tables_priv='Y', repl_slave_priv='Y', repl_client_priv='Y', create_view_priv='Y', show_view_priv='Y', event_priv='Y', trigger_priv='Y' WHERE User = 'solo';
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1,MySQL权限体系 mysql 的权限体系大致分为5个层级: 全局层级: 全局权限适用于一个给定服务器中的所有...
    不排版阅读 4,479评论 0 4
  • 用了mysql好多年,很少关注mysql自带库,自然也不知道这个库里存放些什么,在看《MySQL排错指南》时看到它...
    灼灼2015阅读 5,867评论 1 3
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 9,465评论 0 19
  • 1.A simple master-to-slave replication is currently being...
    Kevin关大大阅读 11,240评论 0 3
  • 你最近怎么样?好吗?记得要开心快乐,什么事对你来说都不是事,相信自己
    寒涵_2665阅读 916评论 0 0