码农笔记
docker 安装mysql
docker pull mysql:5.7 ##下载mysql镜像
docker run -p 3306:3306 --name mysql \ ##创建并运行mysql容器 -p 指定映射端口 -name指定容器名称
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \ ##-v 挂载目录
-e MYSQL_ROOT_PASSWORD=root \ ##设置root账户密码
-d mysql:5.7 ##-d后台运行
使用navicat测试链接
创建数据库
这里报了个错应该是没有权限,给我整不会了。下面使用命令是可以创建成功的
使用 mysqladmin 创建数据库
以下命令简单的演示了创建数据库的过程,数据名为 RUNOOB:
[root@host]# mysqladmin -u root -p create RUNOOB
Enter password:******
为了后续方便可视化操作,我们还是要解决这个问题。
grant all privileges on *.* to root ##把所有权限交给root用户,这里我们又报了一个1045的错误
这里我们做两个操作,把授权的权限交给root。
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
flush privileges;##刷新权限并重启mysql服务
这里有个小插曲 手贱改了mysql,user表的东西导致用户上锁,上锁后啥也干不了。会报 3118错误
百度怎么解锁,方法如下。
[root@liange ~]# docker exec -it mysql03 /bin/bash ##进入容器内部
root@3cb604204c4b:/# mysqld_safe --user=mysql --skip-grant-tables ##进入安全模式
2022-07-27T07:02:12.158721Z mysqld_safe Logging to '/var/lib/mysql/3cb604204c4b.err'.
2022-07-27T07:02:12.175601Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
mysql -uroot ##免密登录
flush privileges; ##先刷新一下权限
ALTER USER 'root'@'%' ACCOUNT UNLOCK; ##更改root用户所
update mysql.user set account_locked='N' where user='root'; ##更新锁状态
commit;##提交
^[2022-07-27T07:03:53.119724Z mysqld_safe mysqld from pid file /var/lib/mysql/3cb604204c4b.pid ended
##最后重启mysql容器
如果navicat依旧无法操作,在容器内部登录mysql执行以下语句就行了
ALTER USER ‘root’@‘%’ ACCOUNT UNLOCK; ##更改root用户所
update mysql.user set account_locked=‘N’ where user=‘root’; ##更新锁状态
flush privileges; ##先刷新一下权限
接着就可以你的下一步操作啦💪💪💪