首頁 > 軟體

aarch64伺服器部署mysql的流程分析

2022-09-30 14:02:51

aarch64伺服器-部署mysql

aarch64伺服器-部署nacos

1、建立工作目錄

mkdir -p /apps/mysql/{mydir,datadir,conf,source}

2、編寫docker-compose.yaml

version: '3'
services:
  mysql:
    restart: always
    image: mysql/mysql-server
    container_name: mysql-lable
    volumes:
      - /apps/mysql/mydir:/mydir
      - /apps/mysql/datadir:/var/lib/mysql
      - /apps/mysql/conf/my.cnf:/etc/my.cnf
      # 資料庫還原目錄 可將需要還原的sql檔案放在這裡
      - /apps/mysql/source:/docker-entrypoint-initdb.d
    environment:
      - "MYSQL_ROOT_PASSWORD=xxx"
      - "MYSQL_DATABASE=xxx"
      - "TZ=Asia/Shanghai"
    ports:
      # 使用宿主機的3306埠對映到容器的3306埠
      # 宿主機:容器
      - 3307:3306

所在伺服器

192.168.2.241   
root@minio-3:~/mysql-8.0# ls
docker-compose.yaml
root@minio-3:~/mysql-8.0# pwd
/root/mysql-8.0

3、編寫資料庫組態檔。

/apps/mysql/conf/my.cnf

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
character-set-client-handshake=FALSE
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

4、啟動

啟動容器的時候,需要先檢查所使用的埠是否被佔用。

$ docker-compose up -d
$ docker-compose ps
Name                 Command             State           Ports
--------------------------------------------------------------------------
mysql-lable   docker-entrypoint.sh mysqld   Up      0.0.0.0:3306->3306/tcp

5、測試

進入容器,使用密碼登入資料庫,並檢視資料庫有沒有建立所指定的庫,庫裡面有沒有匯入你的sql資料

### docker exec -it 容器ID(使用docker ps檢視) /bin/bash
$ docker exec -it e592ac9bfa70 /bin/bash
# root@e592ac9bfa70:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 31451
Server version: 5.7.18 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>

# 檢視資料
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql_data_test    |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> use mysql_data_test  #這個是我自己的恢復資料檔案
mysql> show tables;
.......

記錄報錯

連線報錯

Host is not allowed to connect to this MySQL server解決方法
https://blog.csdn.net/bingjianit/article/details/54384299 #解決文章
在裝有MySQL的機器上登入MySQL mysql -u root -p密碼
執行use mysql;
執行update user set host = '%' where user = 'root';這一句執行完可能會報錯,不用管它。
執行FLUSH PRIVILEGES;

建立使用者授權使用者,修改root密碼

mysqladmin -uroot -p'123456'  password 'xxxx'

一. 建立使用者

命令:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
例子:
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

二. 授權:

命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' 
例子:
GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';

三. 授權:

命令:

GRANT privileges ON databasename.tablename TO ‘username'@‘host'

例子:

GRANT SELECT, INSERT ON test.user TO ‘pig'@‘%';
GRANT ALL ON . TO ‘pig'@‘%';

到此這篇關於aarch64伺服器部署mysql的文章就介紹到這了,更多相關aarch64部署mysql內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com