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