环境准备
- 下载安装包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-el7-x86_64.tar.gz
- 解压安装包并重命名
tar -zxvf /data/software/mysql-5.7.30-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.30-linux-glibc2.5-x86_64 /usr/local/mysql
- 创建数据库存储目录及日志目录
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/logs
- 创建mysql用户组及用户
groupadd mysql #添加用户组
useradd -g mysql mysql #新建msyql用户禁止登录shell
+改变mysql目录权限
chown -R mysql.mysql /usr/local/mysql/
chown -R mysql.mysql /home/mysql
##安装数据库
- 初始化数据库:
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
- 复制配置文件到 /etc/my.cnf
cp -a ./support-files/my-default.cnf /etc/my.cnf
- 把mysql放到本地系统服务中
cp -a ./support-files/mysql.server /etc/init.d/mysql
- 编辑刚才复制的 my.cnf文件
vi /etc/my.cnf
[client]
port = 3306
socket = /usr/local/mysql/mysql.sock
default-character-set = utf8mb4
[mysql]
no-auto-rehash
default-character-set = utf8mb4
[mysqld]
socket = /usr/local/mysql/mysql.sock
character-set-client-handshake=FALSE
character-set-server = utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
max_allowed_packet = 64M
explicit_defaults_for_timestamp = true
skip-ssl
innodb_buffer_pool_size = 21474836480
lower_case_table_names = 1
back_log = 300
max_connections = 10000
max_connect_errors = 100
table_open_cache = 4096
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 16M
join_buffer_size = 16M
thread_cache_size = 16
query_cache_type = ON
query_cache_size = 20M
ft_min_word_len = 8
thread_stack = 512K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 128M
max_heap_table_size = 128M
log-bin = mysql-bin
binlog_format = mixed
server-id = 1
read-only = 0
#binlog-do-db = hello
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
auto-increment-increment = 10
auto-increment-offset = 1
#慢查询
slow_query_log = on
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
#信任子程序的创建者
log-bin-trust-function-creators = 1
[mysqldump]
quick
max_allowed_packet = 64M
[mysqld_safe]
open-files-limit = 8192
log_error = err
#建库时group by相关报错解决
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
- 启动:
service mysql start
- 添加mysql命令
echo ‘export PATH=" P A T H : / u s r / l o c a l / m y s q l / b i n " ′ > > / e t c / p r o f i l e 或 e c h o ′ e x p o r t P A T H = / h o m e / m y s q l / b i n : PATH:/usr/local/mysql/bin"' >> /etc/profile 或 echo 'export PATH=/home/mysql/bin: PATH:/usr/local/mysql/bin"′>>/etc/profile或echo′exportPATH=/home/mysql/bin:PATH’ >> /etc/profile
- 修改用户名密码
使用初始化中的初始密码登录mysql
mysql -uroot -p
SET PASSWORD = PASSWORD(‘your new password’);
flush privileges;
- 需要修改允许远程连接,步骤如下:
mysql -uroot -p
use mysql;
update user set host = ‘%’ where user = ‘root’;
flush privileges;