1. 程式人生 > >Centos 7.x的Docker中安裝Discuz論壇遇到的Mysql問題

Centos 7.x的Docker中安裝Discuz論壇遇到的Mysql問題

Docker下安裝Discuz

目前自學在Centos中Docker部署容器,想在裡面直接安裝一個Discuz,目前遇到了一個棘手的問題。
正常情況下,拉取了一個MySQL 5.7和Discuz。

[[email protected] ~]# docker images
REPOSITORY                                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql                             5.7                 ae6b78bedf88        4 days ago          372 MB
docker.io/skyzhou/docker-discuz             latest              54339c48016c        4 years ago         269 MB

先安裝資料庫:

docker run -dit --restart=always --name=mysqldb -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=wordpress -v /docker/mysql/log/:/var/log/mysqld.log --privileged=true -v /docker/mysql/conf/:/etc/mysql/conf.d -v /docker/mysql/data/:/var/lib/mysql/ -p 3306:3306 docker.io/mysql:5.7 -h dockermysql

再安裝Discuz:

docker run --name=discuz --privileged=true -v /docker/discuz:/var/www/html --link mysqldb:mysql -p 8090:80 -d docker.io/skyzhou/docker-discuz

這裡–link 比較方便的連結到剛剛建好的資料庫

--link mysqldb:mysql

瀏覽器訪問虛擬機器上的IP就可以了。進入到Discuz頁面進行安裝配置資料庫等。
在這裡插入圖片描述
以上就是完成了簡單的論壇搭建。

使用MySQL 8以上的版本報錯!

如果資料庫使用的映象是8.0以上版本,在建立容器後,資料庫需要修改相應的許可權,基本步驟如下:
1.以自帶流水方式進入建立的容器:

docker exec -it mysqldb /bin/bash

2.登陸MySQL,輸入您的密碼登陸:

mysql -uroot -p

3.選擇資料庫

use mysql;

4.授權root使用者的許可權,並設定遠端訪問:

GRANT ALL ON *.* TO 'root'@'%';

其中,* . * 表示:資料庫名 . 表名

5.完成後重新整理

flush privileges;

如果沒有這麼設定,再安裝論壇後,會報Access denied。
接下來按上面的方式繼續安裝Discuz後,到瀏覽器進入安裝介面會報錯,目前還沒有方法解決這個問題!
所以還是先用5.7的資料庫,等待大神解決問題。

MySQL 8.0 使用視覺化工具的問題

參考 https://blog.csdn.net/jc_benben/article/details/80652897

這個不要忘記

mysql> use mysql;

root登陸設定

mysql> alter user 'root'@'%' identified by 'redhat' password expire never;
mysql> alter user 'root'@'%' identified with  mysql_native_password by  'redhat'; 

重新整理

mysql> flush privileges;

修改密碼

mysql> alter  user 'root'@'%' identified by '1234';

這樣就可以使用SQLyog等工具連結登陸了。撒花~

OK,就遇到了這麼多問題,總結出來,希望跟一樣有此困惑的人一起走出困惑!