1、创建数据目录:/data/db/mysql8
2、创建日志目录:/data/logs/mysql8
3、编辑mysql8的配置文件 /etc/mysql/my.cnf
--default_authentication_plugin= mysql_native_password # mysql8的安全机制升级而需要修改的配置,不配置的话将无法登录管理
--character-set-server=utf8 # 字符编码
--max_connect_errors = 10000000 # 允许最大错误连接数
--max_connections = 10000 # 最大连接数
--lower_case_table_names = 1 # 大小写敏感设置
--sql_mode='' # 定义了MySQL应该支持的sql语法,对数据的校验等等
[root@dev1-119 /]# cat /etc/mysql/my.cnf #[client] #port = 3306 #socket = /var/run/mysqld/mysqld.sock # #[mysqld_safe] #pid-file = /var/run/mysqld/mysqld.pid #socket = /var/run/mysqld/mysqld.sock #nice = 0 [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Custom config should go here !includedir /etc/mysql/conf.d/ default_authentication_plugin= mysql_native_password character-set-server=utf8 # 字符编码 max_connect_errors = 10000000 # 允许最大错误连接数 max_connections = 10000 # 最大连接数 lower_case_table_names = 1 # 大小写敏感设置 sql_mode='' # 默认8小时。交互等待时间和非交互等待时间 # # 建议300~500s,两参数值必须一致,且同时修改 interactive_timeout=500 wait_timeout=500 #日志大小 innodb_log_file_size=256M ##日志缓存大小 innodb_log_buffer_size=12M # 用于缓存 索引 和 数据的内存大小 innodb_buffer_pool_size = 512M # 控制innodb数据文件及redo log的打开、刷写模式 innodb_flush_method = O_DIRECT # 禁止dns解析 skip-name-resolve
4、启动容器
docker run --net=host --restart=always --name mysql8 -v /etc/localtime:/etc/localtime -v /etc/mysql:/etc/mysql -v /data/logs/mysql8:/logs -v /data/db/mysql8:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql
若此时报错权限问题,如:
2019-09-24T02:26:17.113482Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.16) MySQL Community Server - GPL. mysqld: Can't create/write to file '/tmp/ibipAuJB' (OS errno 13 - Permission denied)
需要把对应的docker目录赋权即可,我的docker存放目录为 /data/docker
chmod -R 777 /data/docker



