下面以Linux系统为例,展示下具体简单部署过程。我的系统是CentOS release 6.5
1.1 下载解压安装包
官网下载对应版本的tar包,可通过wget下载或者本地下载后上传。
下载地址:
https://downloads.mysql.com/archives/community/
选择mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
下载后上传到目录/data/apps
创建mysql相关目录
mkdir -p /data/apps/data/mysql
mkdir -p /data/apps/data/mysql/data
mkdir -p /data/apps/data/mysql/logs
mkdir -p /data/apps/data/mysql/run
mkdir -p /data/apps/data/mysql/socket
mkdir -p /data/apps/data/mysql/tmp
mkdir -p /data/apps/data/mysql/log_bin
2.1mysql数据库搭建
解压缩
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
我这边使用root用户来执行mysql
chown -R root:root mysql-5.7.30-linux-glibc2.12-x86_64
创建软连接
ln -s mysql-5.7.30-linux-glibc2.12-x86_64 mysql
cd mysql
创建conf目录
mkdir conf
创建my.cnf
参数:
[client]
default-character-set=utf8
socket=/data/apps/data/mysql/socket/mysql.sock
[mysqld]
character_set_server=utf8
lower_case_table_names=1
max_allowed_packet=512M
max_heap_table_size=1024M
tmp_table_size=1024M
max_connect_errors=20
max_connections=4500
max_user_connections=4500
#查询排序缓冲区大小,对order group起作用
sort_buffer_size=1024M
#读操作缓冲区大小
read_buffer_size=4096M
#开启log_bin用户使用函数需要
log_bin_trust_function_creators=1
#连接时长控制
wait_timeout=1000
interactive_timeout=1000
expire_logs_days=15
basedir=/data/apps/mysql
datadir=/data/apps/data/mysql/data
user=root
tmpdir=/data/apps/data/mysql/tmp
socket=/data/apps/data/mysql/socket/mysql.sock
pid-file=/data/apps/data/mysql/run/mysql.pid
log-error=/data/apps/data/mysql/logs/mysql.err
port=3307
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
no-auto-rehash
default-character-set = utf8
将原配置文件备份,改为新创建的配置文件
mv /etc/my.cnf /etc/my.cnf_bak
#创建软连接
ln -s /data/apps/mysql/conf/my.cnf /etc/my.cnf
创建软连接
ln -s /data/apps/mysql/support-files/mysql.server /etc/init.d/mysql
创建软连接(全局使用mysql)
ln -s /data/apps/mysql/bin/mysql /usr/bin
初始化mysql,进入/data/apps/mysql ,执行初始化命令
./bin/mysqld --initialize --user=root --basedir=/data/apps/mysql/ --datadir=/data/apps/data/mysql/data
查看初始密码:
cat /data/apps/data/mysql/logs/mysql.err
2022-01-20T11:03:01.798270Z 0 [Warning] option 'read_buffer_size': unsigned value 4294967296 adjusted to 2147479552
2022-01-20T11:03:01.809064Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-01-20T11:03:01.809088Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2022-01-20T11:03:01.809091Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2022-01-20T11:03:02.141797Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-01-20T11:03:02.204802Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-01-20T11:03:02.276898Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 892df530-79e0-11ec-b5cd-000c29f38020.
2022-01-20T11:03:02.278157Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-01-20T11:03:03.364571Z 0 [Warning] CA certificate ca.pem is self signed.
2022-01-20T11:03:03.602923Z 1 [Note] A temporary password is generated for root@localhost: Jl#hruRGj1lb
找到密码 root@localhost: Jl#hruRGj1lb
启动mysql服务 service mysql start
service mysql start
Starting MySQL.. SUCCESS!
登录mysql
#修改root用户密码
5.7.30版本修改用户密码,修改后记得刷新。
SET PASSWORD = PASSWORD('Uni@pass123');
Flush privileges;
简单部署完成