docker中安装数据库常见的问题

Mysql怎么改密码

MySQL修改root密码的多种方法
在 Navicat for MySQL 下面直接执行 SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’); 就可以

方法1: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);

方法2:用mysqladmin

  mysqladmin -u root password “newpass”

  如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass “newpass”

方法3: 用UPDATE直接编辑user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD(‘root’) WHERE user = ‘root’;

  mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

  mysqld_safe –skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD(“root”) WHERE user=’root’;
  mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

  mysql> FLUSH PRIVILEGES;
  这里写图片描述

安装mysql时容器中遇到的问题

配置centos的docker容器时,在里面安装mysql数据库,以下为安装mysql的命令:

yum -y install mariadb*
systemctl start mariadb.service  # 运行到这条报错  
systemctl enable mariadb.service 

# 设置root有用户密码
mysql_secure_installation

当时我配置项目服务器,调用了systemctl命令启动服务,报错。
原因及解决方式:
这个的原因是因为dbus-daemon没能启动。其实systemctl并不是不可以使用。将你的CMD或者entrypoint设置为/usr/sbin/init即可。会自动将dbus等服务启动起来。

# 在创建docker容器时添加--privileged
docker run --privileged  -it -e "container=docker"  centos  /usr/sbin/init

这里写图片描述

猜你喜欢

转载自blog.csdn.net/siying8419/article/details/79923629
今日推荐