mysql 8.0以上版本部署

创建mysql用户

useradd -M -s /sbin/nologin mysql

解压mysql源码包
tar zvxf mysql-8.0.33-el7-x86_64.tar.gz
mv mysql-8.0.33-el7-x86_64 /data/mysql

创建mysql数据存储目录、bin文件目录、日志目录、运行目录以及错误日志文件
mkdir /data/mysql/mysqldata
mkdir /data/mysql/mysql-bin
mkdir /data/mysql/logs
mkdir /data/mysql/run
touch /data/mysql/logs/error.log

创建mysql配置文件my.cnf

mysql配置文件
cat << EOF > /etc/my.cnf
[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port       = 3306
socket     = /tmp/mysql.sock
 
[mysqld]
port       = 3306
user       = mysql
socket     = /tmp/mysql.sock
# 安装目录
basedir    = /opt/mysql
# 数据存放目录
optdir    = /opt/mysql/mysqlopt
log-bin    = /opt/mysql/mysql-bin
innodb_opt_home_dir      =/opt/mysql/mysql-bin
innodb_log_group_home_dir =/opt/mysql/mysql-bin
#日志及进程数据的存放目录
log-error =/opt/mysql/logs/error.log
pid-file  =/opt/mysql/run/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

 
 ##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 16M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#######################密码验证#########################
#skip_name_resolve=1
######################################################
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 5000
max_connect_errors = 5000
open_files_limit = 65535
#plugin-load=validate_password.so   
binlog_format=mixed
#log_replica_updates=1
binlog_expire_logs_seconds =864000
#slow_query_log = 1    
lower_case_table_names=1
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_opt_file_path = ibopt1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_redo_log_capacity = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED

#mysql主备配置
#server-id=2 #mysql主备配置 #设置主服务器的ID(不能和别的服务器重复,建议使用ip的最后一段)
#sync_binlog=1  #,值可设置 1、500、1000;可自己根据测试性能配置
#binlog_expire_logs_seconds =7
#binlog-ignore-db=mysql # 表示不同步mysql库
#binlog-ignore-db=information_schema # 表示不同步information_schema库
#binlog-ignore-db=performance_schema
#binlog-ignore-db=sys
###binlog-do-db= #这个表示只同步某库 (如果没有此项,表示同步所有的库)

      
[mysqldump]
quick
max_allowed_packet = 16M
       
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
        
[mysqlhotcopy]
interactive-timeout

[client]
default-character-set=utf8
EOF
赋权

chown  -R mysql:root /etc/my.cnf
chmod 644 /etc/my.cnf
chown  -R mysql:mysql /data/mysql

数据库初始化

cd /data/mysql
./bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/mysqldata

创建启动服务文件mysql.service

vim /usr/lib/systemd/system/mysql.service

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart= /data/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false

chmod 755 /usr/lib/systemd/system/mysql.service

systemctl daemon-reload
systemctl start mysql
systemctl status mysql

添加环境变量

vim /etc/profile

#MYSQL
export ES_HOME=/data/mysql
export PATH=$ES_HOME/bin:$PATH

修改密码及创建其它用户

cat /data/mysql/logs/error.log
初始密码:ufu/4)u91E*&

mysql -uroot -p
alter user 'root'@'localhost' identified by '管理员密码';
create user 'root'@'%' identified by '管理员密码';
grant all privileges on *.* to 'root'@'%'  with grant option;
create user 'business'@'%' identified by '密码';
grant all privileges on *.* to 'business'@'%'  with grant option;
create user 'nacos'@'%' identified by '密码';
grant all privileges on *.* to 'nacos'@'%'  with grant option;
flush privileges;

创建数据库

create database 数据库名 character set 'utf8mb4' collate 'utf8mb4_0900_ai_ci';

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很高兴回答您的问题。要部署MySQL 8.0,您可以使用Docker容器。首先,您需要在服务器上安装Docker,然后您可以通过运行以下命令来安装MySQL 8.0:docker run --name mysql8 -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql:8.0. ### 回答2: 要使用Docker部署MySQL 8.0,可以按照以下步骤操作: 1. 首先,确保你的系统中已经安装了Docker。可以在终端中运行docker --version命令来检查Docker是否已经安装。 2. 在Docker Hub上搜索MySQL 8.0的官方镜像。可以在终端中运行docker search mysql来查找可用的镜像。找到合适的官方MySQL 8.0镜像。 3. 下载MySQL 8.0的镜像。使用docker pull命令下载镜像,例如:docker pull mysql:8.0。 4. 创建一个MySQL容器。可以使用docker run命令来创建容器,同时指定容器的名称、端口映射和其他需要的配置。例如,运行以下命令来创建一个名为mysql-container的容器: docker run --name mysql-container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=your_password -d mysql:8.0 这将创建一个名为mysql-container的容器,并将主机的3306端口映射到容器的3306端口。-e选项用于设置MySQL的root用户密码。 5. 连接到MySQL容器。使用MySQL客户端工具,如mysql命令行工具,来连接到MySQL容器。运行以下命令连接到mysql-container容器: mysql -h localhost -P 3306 -u root -p 输入之前设置的密码,即可连接到MySQL容器。 6. 现在你可以在MySQL容器中执行常规的MySQL操作,比如创建数据库、创建表、插入数据等。 使用Docker部署MySQL 8.0可以方便地创建一个独立的、可移植的MySQL环境,使得开发和部署更为简单和灵活。此外,Docker还提供了容器的管理和部署等功能,使得MySQL容器的管理更为方便。 ### 回答3: 要使用Docker部署MySQL 8.0,我们需要按照以下步骤进行操作: 1. 安装Docker:首先,我们需要在目标机器上安装Docker引擎。可以根据操作系统的不同,选择适合的安装方法。安装完成后,可以通过运行`docker version`命令来验证安装是否成功。 2. 拉取MySQL 8.0镜像:我们需要从Docker镜像仓库中拉取MySQL 8.0的镜像。运行以下命令来执行拉取操作: ``` docker pull mysql:8.0 ``` 3. 创建容器:接下来,我们需要创建MySQL的Docker容器。可以使用以下命令创建容器并设置相关参数: ``` docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=<root密码> -p <主机端口>:3306 -d mysql:8.0 ``` 其中,`my-mysql`是容器的名称,`<root密码>`是root用户的密码,`<主机端口>`是将主机上的端口映射到MySQL容器的3306端口。 4. 连接到MySQL:稍等片刻后,容器将启动并运行MySQL服务。我们可以使用MySQL客户端工具来连接到MySQL服务器。运行以下命令来连接到MySQL 8.0服务器: ``` mysql -h <主机名> -P <主机端口> -u root -p ``` 其中,`<主机名>`是主机的名称或IP地址,`<主机端口>`是上一步中映射的端口。 5. 配置MySQL:连接到MySQL服务器后,我们可以执行任何MySQL命令来配置和管理数据库。例如,我们可以创建新的数据库、用户、表等。 以上就是使用Docker部署MySQL 8.0的步骤。通过使用Docker,我们可以轻松地在不同的环境中部署和管理MySQL数据库,并保持环境的一致性和可重现性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值