二进制安装mysql5.7.30
一、创建mysql所需目录和mysql用户并禁止mysql登录系统
useradd mysql -s /sbin/nologin
mkdir /data/mysql/data
mkdir /data/mysql5.7
mkdir /data/mysql/binlog
mkdir /data/mysql/logs
mkdir /tmp/mysql
二、更改所属目录的所有者和所属组位mysql,解压二进制安装包
chown -R mysql.mysql /data/mysql
chown -R mysql.mysql /tmp/mysql
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
三、配置环境变量进行数据库初始化
echo export PATH=/opt/mysql/bin:$PATH >> /etc/profile
source /etc/profile
mysqld --initialize-insecure --user=mysql --basedir=/data/mysql5.7/ --datadir=/data/mysql/data
参数含义
--initialize-insecure 不使用mysql的密码策略,无临时密码
--user 指定用户
--basedir 指定软件路径
--datadir 指定数据路径
四、卸载centos7自带mariadb为mysql设置配置文件
yum remove mariadb-libs
vi /etc/my.cnf 添加以下配置
[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data
server_id=10
port=5186
user=mysql
lower_case_table_names=1
character_set_server=utf8
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
explicit_defaults_for_timestamp=1
log_bin=/data/mysql/binlog/mysql-bin
binlog_format=row
socket=/tmp/mysql/mysql.sock
max_allowed_packet=1024M
[mysqld_safe]
log-error=/data/mysql/logs/mysqld.log
pid-file=/data/mysql/logs/mysqld.pid
[client]
socket=/tmp/mysql/mysql.sock
四、设置mysql可以通过service管理
cd /data/mysql5.7/support-files
sed -i 's#mysqld_safe#mysqld#g' mysql.server
ln -s /data/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
即可通过service mysqld 进行start启动 stop停止等操作。
参数调优及作用实例
MySql的参数调整(示例)
参数调优及解释如下
- character-set-server=utf8 设置MySQL服务器的默认编码为utf-8(同RDS)
- collation-server=utf8_bin??? 字符排序规则,用于决定列值是否区分大小写( A==a? )
- max_allowed_packet = 1024M 调大允许的包大小(同RDS)
- innodb_log_file_size=512M 调大日志文件大小(同RDS)
- lower_case_table_names = 1 表名、字段名 不区分大小写(同RDS)
- transaction-isolation=READ-COMMITTED #默认事务隔离级别 (要研究)
- innodb_buffer_pool_size=2G #重要配置,innodb引擎核心内存大小
- innodb_buffer_pool_instances=2
- skip_ssl #关闭ssl认证mysql5.7.28及以上版本默认开启,会影响应用正常连接
-
sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,PIPES_AS_CONCAT,ANSI_QUOTES'