标签:windows 用户 nanoserver user 登入 mysql root
由于需要在Windows server上的Docker中部署mysql服务,因此在Docker hub找到了nanoserver/mysql (https://hub.docker.com/r/nanoserver/mysql)
pull下镜像,启动container
1 docker pull nanoserver/mysql 2 docker run --name mysqltest --hostname mysqltest1 --expose=3306 --network=my-transparent-network -dit nanoserver/mysql:latest powershell
不过在实际使用中发现,数据库的密码和作者写的并不一致,使用下面的用户和密码没法登入到mysql中。。。
为今之计只好跳过用户验证登入mysql了
1 docker attach mysqltest 2 powershell 3 Service-Stop mysql 4 Start-Job -Command {mysqld -nt --skip-grant-tables} #由于 mysqld -nt --skip-grant-tables会启动一个mysql服务并且挂起当前的session因此需要启动一个后台Job来执行,否则就没办法在当前session登入mysql了 5 mysql -uroot -p
这样就跳过密码验证登入到mysql中了。
接下来修改root用户的密码
1 -- 切换到mysql数据库 2 use mysql; 3 -- user表中password字段已被authentication_string代替 4 update user set authentication_string=password('1111') where user='root'; 5 -- 刷新权限 6 flush privileges;
这样root用户的密码就修改好了。退出mysql终端,停止刚才启动的mysqld Job。重启mysql service。即可使用root身份正常登入到mysql了。
附Mysql 新建、修改用户以及权限分配相关命令:
1 ALTER USER testuser IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; 2 -- 查看系统用户 3 select Host,User,Password from mysql.user; 4 -- 创建一个远程用户 5 create user test identified by '123456'; 6 -- 分配权限 7 grant all privileges on *.* to 'test'@'%'identified by '123456' with grant option; 8 -- 刷新mysql用户权限 9 flush privileges ; 10 -- 修改指定用户密码 11 update mysql.user set password=password('新密码') where User="test" and Host="localhost"; 12 -- 删除用户 13 delete from user where User='test' and Host='localhost';
标签:windows,用户,nanoserver,user,登入,mysql,root 来源: https://www.cnblogs.com/flyelephant/p/docker-windows-nanoservermysql-image-mysql-root-pass
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。