Preface
    
    Several days ago,I've implement a docker environmnet,I'm gonna Install a MySQL 8.0 version on it.Let's see the detail of it.
 
Procedure
 
Check and run docker container again.
  1. [root@docker vagrant]# docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. centos7 latest 7d0b68af5a06 days ago 694MB
  4. [root@docker vagrant]# docker run -d -v /vagrant/mysql_soft:/opt/mysql -v /vagrant/data1:/data -v /etc/hosts:/etc/hosts -p2222: --cap-add=NET_ADMIN --name c1 -h docker centos7
  5. fbf17e3f6aa8324b8d494aa0211122f5d735bf6f648a99b6632ae2be5be996da
  6. [root@docker vagrant]# docker ps -a
  7. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  8. fbf17e3f6aa8 centos7 "/usr/bin/supervisor…" seconds ago Up seconds (healthy) 0.0.0.0:->/tcp c1
  9. 103f318448c9 centos7 "/usr/bin/supervisor…" minutes ago Exited () minutes ago node1
  10. [root@docker vagrant]# docker rm container 103f318448c9
  11. 103f318448c9
  12. Error: No such container: container
  13. [root@docker vagrant]# docker ps
  14. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  15. fbf17e3f6aa8 centos7 "/usr/bin/supervisor…" seconds ago Up seconds (healthy) 0.0.0.0:->/tcp c1
  16. [root@docker vagrant]# ssh root@172.17.0.2
  17. root@172.17.0.2's password:
  18. Last login: Wed Jun :: from 172.17.0.1
  19. [root@docker ~]# df -h
  20. Filesystem Size Used Avail Use% Mounted on
  21. /dev/mapper/docker-:--60de86a769f75e2e96c849e76f1b3de10ac8c8d9985597ff3f758070edada54d 10G 682M .4G % /
  22. tmpfs 64M 64M % /dev
  23. tmpfs 497M 497M % /sys/fs/cgroup
  24. none 612G 242G 370G % /data
  25. /dev/mapper/centos-root .4G .1G .3G % /etc/hosts
  26. shm 64M 64M % /dev/shm
  27. tmpfs 497M 497M % /proc/scsi
  28. tmpfs 497M 497M % /sys/firmware

Download and extract MySQL software.

  1. [root@docker ~]# cd /vagrant/mysql_soft
  2. [root@docker mysql_soft]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
  3. [root@docker mysql_soft]# cd /opt/mysql
  4. [root@docker mysql]# ls -l
  5. total
  6. -rwxrwxrwx Mar : mysql-5.7.-linux-glibc2.-x86_64.tar.gz
  7. -rwxrwxrwx Jun : mysql-8.0.-linux-glibc2.-x86_64.tar.gz
  8. [root@docker mysql]# tar -zxf mysql-8.0.-linux-glibc2.-x86_64.tar.gz
  9. tar: mysql-8.0.-linux-glibc2.-x86_64/lib/libcrypto.so: Cannot create symlink to `libcrypto.so.1.0.': Protocol error
  10. tar: mysql-8.0.-linux-glibc2.-x86_64/lib/libmysqlclient.so: Cannot create symlink to `libmysqlclient.so.': Protocol error
  11. tar: mysql-8.0.-linux-glibc2.-x86_64/lib/libmysqlclient.so.: Cannot create symlink to `libmysqlclient.so.21.0.': Protocol error
  12. tar: mysql-8.0.-linux-glibc2.-x86_64/lib/libssl.so: Cannot create symlink to `libssl.so.1.0.': Protocol error
  13. tar: mysql-8.0.-linux-glibc2.-x86_64/lib/plugin/libssl.so.1.0.: Cannot create symlink to `../../lib/libssl.so.1.0.': Protocol error
  14. tar: mysql-8.0.-linux-glibc2.-x86_64/lib/plugin/libcrypto.so.1.0.: Cannot create symlink to `../../lib/libcrypto.so.1.0.': Protocol error
  15. tar: mysql-8.0.-linux-glibc2.-x86_64/lib/plugin/debug/libssl.so.1.0.: Cannot create symlink to `../../../lib/libssl.so.1.0.': Protocol error
  16. tar: mysql-8.0.-linux-glibc2.-x86_64/lib/plugin/debug/libcrypto.so.1.0.: Cannot create symlink to `../../../lib/libcrypto.so.1.0.': Protocol error
  17. tar: mysql-8.0.-linux-glibc2.-x86_64/bin/libssl.so.1.0.: Cannot create symlink to `../lib/libssl.so.1.0.': Protocol error
  18. tar: mysql-8.0.-linux-glibc2.-x86_64/bin/libcrypto.so.1.0.: Cannot create symlink to `../lib/libcrypto.so.1.0.': Protocol error
  19. tar: Exiting with failure status due to previous errors

Check absent "libxxx.so" then install them untill there're no "not found" results.

  1. [root@docker mysql]# ldd /usr/local/mysql/bin/mysqld.sh
  2. ldd: /usr/local/mysql/bin/mysqld.sh: No such file or directory
  3. [root@docker mysql]# ldd /usr/local/mysql/bin/mysqld
  4. linux-vdso.so. => (0x00007fff57cca000)
  5. libpthread.so. => /lib64/libpthread.so. (0x00007f57bc85d000)
  6. libaio.so. => not found
  7. libnuma.so. => not found
  8. libcrypt.so. => /lib64/libcrypt.so. (0x00007f57bc625000)
  9. libssl.so.1.0. => not found
  10. libcrypto.so.1.0. => not found
  11. libdl.so. => /lib64/libdl.so. (0x00007f57bc420000)
  12. librt.so. => /lib64/librt.so. (0x00007f57bc217000)
  13. libstdc++.so. => /lib64/libstdc++.so. (0x00007f57bbf10000)
  14. libm.so. => /lib64/libm.so. (0x00007f57bbc0e000)
  15. libgcc_s.so. => /lib64/libgcc_s.so. (0x00007f57bb9f7000)
  16. libc.so. => /lib64/libc.so. (0x00007f57bb62a000)
  17. /lib64/ld-linux-x86-.so. (0x00007f57bca7f000)
  18. libfreebl3.so => /lib64/libfreebl3.so (0x00007f57bb427000)
  19. [root@docker mysql]# yum install -y libaio numactl libssl libcrypto
  20. -- Omitted
  21. [root@docker mysql]# ldd /usr/local/mysql/bin/mysqld
  22. linux-vdso.so. => (0x00007fff05f82000)
  23. libpthread.so. => /lib64/libpthread.so. (0x00007fc18aca3000)
  24. libaio.so. => /lib64/libaio.so. (0x00007fc18aaa0000)
  25. libnuma.so. => /lib64/libnuma.so. (0x00007fc18a894000)
  26. libcrypt.so. => /lib64/libcrypt.so. (0x00007fc18a65d000)
  27. libssl.so.1.0. => not found
  28. libcrypto.so.1.0. => not found
  29. libdl.so. => /lib64/libdl.so. (0x00007fc18a458000)
  30. librt.so. => /lib64/librt.so. (0x00007fc18a24f000)
  31. libstdc++.so. => /lib64/libstdc++.so. (0x00007fc189f48000)
  32. libm.so. => /lib64/libm.so. (0x00007fc189c46000)
  33. libgcc_s.so. => /lib64/libgcc_s.so. (0x00007fc189a2f000)
  34. libc.so. => /lib64/libc.so. (0x00007fc189662000)
  35. /lib64/ld-linux-x86-.so. (0x00007fc18aec5000)
  36. libfreebl3.so => /lib64/libfreebl3.so (0x00007fc18945f000)
  37. [root@docker mysql]# find / -name libssl.so.1.0.
  38. /opt/mysql/mysql-8.0.-linux-glibc2.-x86_64/lib/libssl.so.1.0.
  39. [root@docker mysql]# cp /opt/mysql/mysql-8.0.-linux-glibc2.-x86_64/lib/libssl.so.1.0. /usr/lib64
  40. [root@docker mysql]# find / -name libcrypto.so.1.0.
  41. /opt/mysql/mysql-8.0.-linux-glibc2.-x86_64/lib/libcrypto.so.1.0.
  42. [root@docker mysql]# cp /opt/mysql/mysql-8.0.-linux-glibc2.-x86_64/lib/libcrypto.so.1.0. /usr/lib64
  43. [root@docker mysql]# ldd /usr/local/mysql/bin/mysqld
  44. linux-vdso.so. => (0x00007fff13ffe000)
  45. libpthread.so. => /lib64/libpthread.so. (0x00007f156dbc3000)
  46. libaio.so. => /lib64/libaio.so. (0x00007f156d9c0000)
  47. libnuma.so. => /lib64/libnuma.so. (0x00007f156d7b4000)
  48. libcrypt.so. => /lib64/libcrypt.so. (0x00007f156d57d000)
  49. libssl.so.1.0. => /lib64/libssl.so.1.0. (0x00007f156d30d000)
  50. libcrypto.so.1.0. => /lib64/libcrypto.so.1.0. (0x00007f156cf25000)
  51. libdl.so. => /lib64/libdl.so. (0x00007f156cd21000)
  52. librt.so. => /lib64/librt.so. (0x00007f156cb18000)
  53. libstdc++.so. => /lib64/libstdc++.so. (0x00007f156c811000)
  54. libm.so. => /lib64/libm.so. (0x00007f156c50f000)
  55. libgcc_s.so. => /lib64/libgcc_s.so. (0x00007f156c2f8000)
  56. libc.so. => /lib64/libc.so. (0x00007f156bf2b000)
  57. /lib64/ld-linux-x86-.so. (0x00007f156dde5000)
  58. libfreebl3.so => /lib64/libfreebl3.so (0x00007f156bd28000)

Make required directory and create soft link.

  1. [root@docker mysql]# mkdir -p /data/mysql/mysql3306/{data,logs,tmp}
  2. [root@docker mysql]# ln -sv /opt/mysql/mysql-8.0.-linux-glibc2.-x86_64 /usr/local/mysql
  3. ‘/usr/local/mysql -> ‘/opt/mysql/mysql-8.0.-linux-glibc2.-x86_64

Create mysql group & user.

  1. [root@docker mysql]# userdel mysql
  2. [root@docker mysql]# groupadd mysql
  3. [root@docker mysql]# useradd -g mysql -s /sbin/nologin -d /usr/local/mysql -MN mysql

Modify directory privilege.

  1. [root@docker mysql]# cd /usr/local
  2. [root@docker local]# chown -R mysql.mysql mysql

Modify environment variable.

  1. [root@docker local]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> ~/.bash_profile
  2. [root@docker local]# source ~/.bash_profile
  3. [root@docker local]# echo $PATH
  4. /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

Prepare a suitable my.cnf in docker and then copy it to specific path.

  1. [root@docker local]# cp /opt/mysql/my.cnf /data/mysql/mysql3306/my3306.cnf

Initialize MySQL db.

  1. [root@docker local]# mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --initialize
  2. mysqld: [Warning] World-writable config file '/data/mysql/mysql3306/my3306.cnf' is ignored.
  3. --23T16::.446641Z [System] [MY-] [Server] mysqld (mysqld 8.0.) initializing of server in progress as process
  4. --23T16::.528638Z [ERROR] [MY-] [Server] Can't find error-message file '/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
  5. --23T16::.804315Z [ERROR] [MY-] [Server] --initialize specified but the data directory has files in it. Aborting.
  6. --23T16::.804363Z [ERROR] [MY-] [Server] Aborting
  7. --23T16::.010408Z [System] [MY-] [Server] mysqld: Shutdown complete (mysqld 8.0.) MySQL Community Server - GPL.
  8. [root@docker ~]# cd /data/mysql/mysql3306/data -- There're no files in the directory,why does it show the existent error?Let's see below.
  9. [root@docker data]# ls -la
  10. total
  11. drwxrwxrwx mysql mysql Jun : .
  12. drwxrwxrwx mysql mysql Jun : ..

I change the way of initialization.

  1. [root@docker data]# mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/mysql3306/data --user=mysql --initialize
  2. --23T17::.792594Z [System] [MY-] [Server] mysqld (mysqld 8.0.) initializing of server in progress as process
  3. --23T17::.887954Z [Warning] [MY-] [Server] Setting lower_case_table_names= because file system for /data/mysql/mysql3306/data/ is case insensitive
  4. mbind: Operation not permitted
  5. --23T17::.669761Z [Note] [MY-] [Server] A temporary password is generated for root@localhost: o/>k*hqxn1T=
  6. --23T17::.807974Z [System] [MY-] [Server] mysqld (mysqld 8.0.) initializing of server has completed
  7. [root@docker etc]# ps aux | grep mysqld
  8. root 0.0 0.0 pts/ SN+ : : grep --color=auto mysqld

Start mysqld but failed.

  1. [root@docker etc]# mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf &
  2. []
  3. [root@docker etc]# mysqld: [Warning] World-writable config file '/data/mysql/mysql3306/my3306.cnf' is ignored.
  4. --23T17::.345108Z [System] [MY-] [Server] mysqld (mysqld 8.0.) starting as process
  5. --23T17::.346090Z [ERROR] [MY-] [Server] Can't find error-message file '/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
  6. --23T17::.357718Z [Warning] [MY-] [Server] Setting lower_case_table_names= because file system for /data/ is case insensitive
  7. --23T17::.358228Z [ERROR] [MY-] [Server] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
  8. --23T17::.358263Z [ERROR] [MY-] [Server] Aborting
  9. --23T17::.362713Z [System] [MY-] [Server] mysqld: Shutdown complete (mysqld 8.0.) MySQL Community Server - GPL.
  10. ^C
  11. []+ Exit mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf

The my3306.cnf cannot be world-writable,so I copy it to "/tmp" and start mysqld again.

  1. [root@docker etc]# cp /data/mysql/mysql3306/my3306.cnf /tmp
  2. [root@docker etc]# cd /tmp
  3. [root@docker tmp]# ls -l | grep my3306.cnf
  4. -rwxr-xr-x root root Jun : my3306.cnf
  5. [root@docker tmp]# mysqld --defaults-file=/tmp/my3306.cnf &
  6. []
  7. [root@docker tmp]# ps aux | grep mysqld
  8. root 0.0 0.0 pts/ SN+ : : grep --color=auto mysqld
  9. []+ Exit mysqld --defaults-file=/tmp/my3306.cnf
  10. [root@docker etc]# tail /data/mysql/mysql3306/data/error.log
  11. --24T01::03.732865+: [Warning] [MY-] [Server] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  12. --24T01::03.735145+: [Warning] [MY-] [Server] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
  13. --24T01::03.736465+: [System] [MY-] [Server] mysqld (mysqld 8.0.) starting as process
  14. mbind: Operation not permitted
  15. --24T01::04.184074+: [ERROR] [MY-] [InnoDB] InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size pages (rounded down to MB) than specified in the .cnf file: initial pages, max (relevant if non-zero) pages!
  16. --24T01::04.184868+: [ERROR] [MY-] [InnoDB] InnoDB: Plugin initialization aborted with error Generic error.
  17. --24T01::04.810086+: [ERROR] [MY-] [Server] Failed to initialize DD Storage Engine
  18. --24T01::04.810840+: [ERROR] [MY-] [Server] Data Dictionary initialization failed.
  19. --24T01::04.810961+: [ERROR] [MY-] [Server] Aborting
  20. --24T01::04.828841+: [System] [MY-] [Server] mysqld: Shutdown complete (mysqld 8.0.) MySQL Community Server - GPL.

It still has problem 'cause size of "./ibdata1" is incompatible with the parameter in "my3306.cnf".

  1. [root@docker data]# ls -l ibdata1
  2. -rwxrwxrwx mysql mysql Jun : ibdata1
  3. [root@docker data]# cat /tmp/my3306.cnf | grep innodb_data_file_path
  4. innodb_data_file_path =ibdata1:100M:autoextend # ibdata1:12M:autoextend
  5. [root@docker data]# vim /tmp/my3306.cnf | grep innodb_data_file_path
  6. [root@docker data]# cat /tmp/my3306.cnf | grep innodb_data_file_path
  7. innodb_data_file_path =ibdata1:12M:autoextend # ibdata1:12M:autoextend

After I started mysqld several seconds later,the process down again at once.

  1. [root@docker etc]# mysqld --defaults-file=/tmp/my3306.cnf &
  2. []
  3. [root@docker etc]# ps aux|grep mysqld
  4. mysql 38.0 3.1 pts/ SNl : : mysqld --defaults-file=/tmp/my3306.cnf
  5. root 0.0 0.0 pts/ SN+ : : grep --color=auto mysqld
  6. [root@docker etc]# ps aux|grep mysqld
  7. root 0.0 0.0 pts/ SN+ : : grep --color=auto mysqld
  8. [root@docker etc]#
  9. [root@docker data]# tail - error.log
  10. --24T01::30.177384+: [Warning] [MY-] [Server] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
  11. --24T01::30.179005+: [System] [MY-] [Server] mysqld (mysqld 8.0.) starting as process
  12. mbind: Operation not permitted
  13.  
  14. --24T01::33.215591+: [ERROR] [MY-] [Server] Different lower_case_table_names settings for server ('') and data dictionary ('').
  15. --24T01::33.216211+: [ERROR] [MY-] [Server] Data Dictionary initialization failed.
  16. --24T01::33.216289+: [ERROR] [MY-] [Server] Aborting
  17. --24T01::34.839683+: [System] [MY-] [Server] mysqld: Shutdown complete (mysqld 8.0.) MySQL Community Server - GPL.

The error shows that the value is not equal between "lower_case_table_names" and dictionary.

  1. [root@docker data]# cat /opt/mysql/my.cnf|grep lower_case_table_names
  2. lower_case_table_names = #
  3. [root@docker data]# cat /tmp/my3306.cnf | grep lower_case_table_names
  4. lower_case_table_names = #
  5. [root@docker data]# vim /tmp/my3306.cnf
  6. [root@docker data]# cat /tmp/my3306.cnf | grep lower_case_table_names
  7. lower_case_table_names = #

After I've modified my3306.cnf,it seems no error occurs now.

  1. [root@docker data]# tail - error.log
  2. --24T01::20.035831+: [Warning] [MY-] [Server] 'user' entry 'mysql.infoschema@localhost' ignored in --skip-name-resolve mode.
  3. --24T01::20.035971+: [Warning] [MY-] [Server] 'user' entry 'mysql.session@localhost' ignored in --skip-name-resolve mode.
  4. --24T01::20.036064+: [Warning] [MY-] [Server] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.
  5. --24T01::20.036160+: [Warning] [MY-] [Server] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.
  6. --24T01::20.036898+: [Warning] [MY-] [Server] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode.
  7. --24T01::20.037083+: [Warning] [MY-] [Server] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
  8. --24T01::20.037268+: [Warning] [MY-] [Server] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
  9. --24T01::20.042517+: [Warning] [MY-] [Server] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode.
  10. --24T01::20.042646+: [Warning] [MY-] [Server] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode.
  11. --24T01::20.099046+: [System] [MY-] [Server] mysqld: ready for connections. Version: '8.0.11' socket: '/tmp/mysql.sock' port: MySQL Community Server - GPL.
  12. [root@docker etc]# ps aux|grep mysqld
  13. mysql 2.0 9.3 pts/ SNl : : mysqld --defaults-file=/tmp/my3306.cnf
  14. root 0.0 0.0 pts/ SN+ : : grep --color=auto mysqld

Start mysql client and modify the password generated by initialization.

  1. [root@docker etc]# mysql
  2. ERROR (): Access denied for user 'root'@'localhost' (using password: NO)
  3. [root@docker etc]# mysql -p
  4. Enter password: -- Use the password which generated by initialization(here is "o/>k*hqxn1T=")
  5. Welcome to the MySQL monitor. Commands end with ; or \g.
  6. Your MySQL connection id is
  7. Server version: 8.0.
  8.  
  9. Copyright (c) , , Oracle and/or its affiliates. All rights reserved.
  10.  
  11. Oracle is a registered trademark of Oracle Corporation and/or its
  12. affiliates. Other names may be trademarks of their respective
  13. owners.
  14.  
  15. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  16.  
  17. mysql> show databases;
  18. ERROR (HY000): You must reset your password using ALTER USER statement before executing this statement.
  19. mysql> alter user root@localhost identified by 'Passw0rd';
  20. Query OK, rows affected (0.11 sec)
  21.  
  22. mysql> show databases;
  23. +--------------------+
  24. | Database |
  25. +--------------------+
  26. | information_schema |
  27. | mysql |
  28. | performance_schema |
  29. | sys |
  30. +--------------------+
  31. rows in set (0.20 sec)
  32.  
  33. mysql>
Summary
  • ldd can be used to check if mysqld is missing "libxxx.so" file.Then you can install or copy directly into "/usr/lib64" directory.
  • There're many errors in my installation procedure due to inappropriate parameters.
  • Because of the vagrant,all the shared directories in docker contains also has the 777 privilege what cause the world-writable issue.
  • Since MySQL 5.7,password of root@localhost must be changed while first login.Otherwise,you can do nothing at all.

docker安装MySQL 8.0及初始化错误处理的更多相关文章

  1. docker 安装 MySQL 8.0

    1.查找镜像 查找Docker Hub上的mysql镜像 X230:~$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED m ...

  2. Docker安装MySQL 8.0并挂载数据及配置文件

    安装部署环境 Ubuntu 18.04.3 LTS Docker 19.03.2 MySQL latest(8.0.17) 下载镜像 # docker从仓库中拉取最新版的mysql镜像,如果没加标签的 ...

  3. centos docker 安装mysql 8.0

    centos 版本  CentOS Linux release 7.5.1804 (Core) 内核版本: 3.10.0-862.el7.x86_64 下载最新版mysql docker pull m ...

  4. Docker学习实践 - Docker安装MySql数据库

    Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

  5. 使用docker安装mysql和redis

    本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...

  6. docker 安装mysql mongo

    Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...

  7. windows 系统如何安装 mysql 8.0.15 数据库?

    windows 系统如何安装 mysql 8.0.15 数据库? 1. 下载安装包 下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0. ...

  8. docker安装mysql(Baas)

    Docker安装mysql 5.7版本 //拉取mysql镜像 docker pull mysql:5.7 下载完成后,在本地镜像列表里查到REPOSITORY为mysql,标签为5.7的镜像. do ...

  9. 安装Mysql 8.0的艰难体验

    背景: Mysql 8.0 以后版本,在性能等方面有了很大提升,而且在自动编号.Timestamp等字段的设置上有了很方便的进步,因此在一年前即开始将原有的基于5.5版本的服务器逐渐向8.0转移.但转 ...

随机推荐

  1. tp3.2博客详情页面查询上一篇下一篇

  2. Java的输入/输出操作

    Java的输入\输出机制 计算机的基本功能就是通过输入输出设备与外部其他设备尽心数据的交互,从其他设备读入数据叫做输入操作,将计算机内的数据写入到其他设备叫做输出操作.可以向计算机发送数据.又可以接受 ...

  3. matlab练习程序(模糊集图像增强)

    算法有很多变种.不过主要就是以下三步. 1.设计隶属度函数将图像从空间域变换到模糊集域. 2.设计模糊增强算子,在模糊集域对图像进行处理. 3.根据第1步的隶属度函数重新将图像从模糊集域变换到空间域. ...

  4. SQL 数据匹配更新

    萌新的成长之路! 最近遇到的一个需求是需要将两张关联的表的数据进行匹配(dbo.SystemUser[系统用户表]:dbo.V_Temp[系统权限视图]),即通过匹配用户ID与系统ID(拥有的系统ID ...

  5. 【Spring实战】—— 16 基于JDBC持久化的事务管理

    前面讲解了基于JDBC驱动的Spring的持久化管理,本篇开始则着重介绍下与事务相关的操作. 通过本文你可以了解到: 1 Spring 事务管理的机制 2 基于JDBC持久化的事务管理 Spring的 ...

  6. 记录一次 sql在数据库可以查到 mybatis代码查不到的问题

    原始代码: 查不到 SELECT b.ID, b.PRICE_ITEM_CODE, b.PRICE_NAME, b.DES_SITE_CODE, b.SRC_SITE_CODE, b.CALC_TYP ...

  7. 将springboot打包成的jar文件做成windows服务

    1.在idea中用maven将程序打成jar,放到运行的目录中. 2.去github上面下载winsw: https://github.com/kohsuke/winsw/releases 3. 将W ...

  8. chrome不能用百度网盘极速上传插件的解决办法

    进入chorme设置中,选择隐私设置中的内容设置,插件>自动运行,然后管理例外情况>添加“[*.]baidu.com”,后边当然选择允许,然后重启浏览器,OK了

  9. C/C++ memmove与memcpy的区别及实现

    1.与字符串函数strcpy区别: memcpy与memmove都是对内存进行拷贝可以拷贝任何内容,而strcpy仅是对字符串进行操作. memcpy与memmove拷贝多少是通过其第三个参数进行控制 ...

  10. 使用ToString方法格式化日期

    实现效果: 关键知识: Environment类的NewLine属性  //用于获取为此环境定义的换行字符串,程序执行过程中方便对字符串进行换行 Environment类的EXIT方法     //用 ...