Docker 啟動mysql


docker run -p 3306:3306  --restart=always  --privileged=true --name mysql -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD="123456" -d mysql:5.7

命令說明:
-p 3306:3306:將容器的3306端口映射到主機的3306端口
-e MYSQL_ROOT_PASSWORD=123456:初始化root用戶的密碼
-d: 后台運行容器,並返回容器ID

下面這兩行配置是掛載數據

-v /opt/mysql/data:/var/lib/mysql

掛載mysql配置文件
-v /opt/mysql/my.cnf:/etc/mysql/my.cnf

my.cnf配置文件添加以下內容:

[mysqld]
user=root
character-set-server=utf8
default_authentication_plugin=mysql_native_password
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1 #忽略表名大小寫

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

 

 mysql更改密碼:

use mysql;

 

下面我們就要修改密碼了

以前的版本我們用的是以下修改

 update user set password=password('root') where user='root';

 但是在5.7版本中不存在password字段,所有我們要用以下修改進行重置密碼

update user set authentication_string=password('123456') where user='root';

重新授權

grant all privileges on *.* to root@'%' identified by  '123456';

flush privileges;

 退出mysql

 quit;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM