1.系统优化:

linux 下安装mysql安装包 Linux基于tar包的方式安装mysql数据库(1)

mysql数据库

关闭selinux

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

安装依赖包

yum -y install libevent

sysctl.conf 优化:

cat >> /etc/sysctl.conf << EOF

fs.aio-max-nr = 1048576

fs.file-max = 681574400

kernel.shmmax = 137438953472

kernel.shmmni = 4096

kernel.sem = 250 32000 100 200

net.ipv4.ip_local_port_range = 9000 65000

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

EOF

sysctl -p

limit 优化:

cat >> /etc/security/limits.conf << EOF

* soft nproc 65536

* hard nproc 65536

* soft nofile 65536

* hard nofile 65536

EOF

cat >> /etc/security/limits.d/20-nproc.conf << EOF

* soft nproc unlimited

* hard nproc unlimited

EOF

cat >> /etc/pam.d/login << EOF

session required /lib/security/pam_limits.so

session required pam_limits.so

EOF

cat >> /etc/profile << EOF

ulimit -HSn 65535

EOF

source /etc/profile 

2.在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载。

     (1)查看mysql数据库

      rpm -qa | grep -i mysql

     (2)卸载mysql数据库

      rpm -e --nodeps mysql 文件名

     (3)查找mysql文件

      find / -name mysql

     (4)删除mysql有锁文件和配置文件my.cnf(自己上传的别错删了)

      rm -rf 指定路径下的文件名

3.解压缩mysql文件

    (1)xz –d /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

    (2)tar –xvf /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64.tar

    (3)mv /usr/local/mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql

4.进入操作系统,建立用户和安装目录

mkdir -p /opt/mysql/tmp

mkdir -p /opt/mysql/dumps

mkdir -p /opt/mysql/log

mkdir -p /opt/mysql/data

mkdir -p /opt/mysql/undo

mkdir -p /opt/servers/mysql

touch /opt/mysql/log/error.log

5.进入数据库软件目录,解压安装包,设置环境变量

cp -R ./* /opt/servers/mysql

cd /opt/servers/mysql

复制数据库启动文件去操作系统启动文件夹下,并且设置临时环境变量和改变安装目录权限

ln -s /opt/servers/mysql /usr/local/mysql

export PATH=$PATH:/usr/local/mysql/bin

创建用户mysql

groupadd -g 512 mysql

useradd -g 512 -d /opt mysql

chown -R mysql:mysql /opt

chmod -R 755 /opt

设置永久环境变量,编辑vi /etc/profile文件,在最后一行加入

export PATH=$PATH:/usr/local/mysql/bin

6.安装mysql服务

进入安装目录

cd /opt/servers/mysql/bin

mysql初始化配置

  1.切换到mysql用户权限

    su mysql

配置mysql参数文件my.cnf,便捷my.cnf 8G配置参数文件如下:

[mysql]

# 设置mysql客户端默认字符集

#default-character-set=utf8

[client]

port=3306

socket=/opt/mysql/tmp/mysql.sock

[mysqldump]

quick

max_allowed_packet=64M

[mysqld_safe]

log-error=/opt/mysql/log/error.log

pid-file=/opt/mysql/mysqld.pid

[mysql]

no-auto-rehash

[mysqld]

server_id=1

user=mysql

port=3306

mysqlx_port=33060

mysqlx_socket=/opt/mysql/tmp/mysqlx.sock

socket=/opt/mysql/tmp/mysql.sock

basedir=/opt/servers/mysql

datadir=/opt/mysql/data

lower_case_table_names=1

character_set_server=utf8

collation_server=utf8_unicode_ci

innodb_undo_directory=/opt/mysql/undo

innodb_undo_tablespaces=4

innodb_data_file_path=ibdata1:512M:autoextend

innodb_page_size=16k

default_authentication_plugin=mysql_native_password

open_files_limit=10240

back_log=600

max_connections=3000

max_connect_errors=6000

table_open_cache=1000

max_allowed_packet=64M

sort_buffer_size=2M

join_buffer_size=2M

thread_cache_size=300

thread_stack=256K

transaction_isolation=READ-COMMITTED

tmp_table_size=256M

max_heap_table_size=256M

long_query_time=2

log_bin=/opt/mysql/tmp/mysql-bin

binlog_cache_size=4M

max_binlog_cache_size=8M

max_binlog_size=1G

binlog_expire_logs_seconds=2592000

key_buffer_size=2048M

read_buffer_size=1M

read_rnd_buffer_size=16M

bulk_insert_buffer_size=64M

skip_name_resolve

innodb_buffer_pool_size=6144M

innodb_thread_concurrency=8

innodb_flush_log_at_trx_commit=2

innodb_log_buffer_size=16M

innodb_log_file_size=128M

innodb_log_files_in_group=3

innodb_max_dirty_pages_pct=90

innodb_lock_wait_timeout=120

innodb_file_per_table=1

初始化生成data目录(切记不要手动创建data目录)(补充:mysql用户下初始化不成功(没有生成密码),用root用户来操作,最后记得把生成data目录赋予mysql用户)

    /usr/local/mysql/bin/mysqld --initialize

    如果当前所在目录为bin录下,命令形式为./mysqld --initialize

    ./不能省略,否则出错,因为省略后系统会当成mysqld程序执行,而不是bin目录下的mysqld可执行文件

安装mysql数据库服务

./mysqld --initialize-insecure --user=mysql --basedir=/opt/servers/mysql/ --datadir==/opt/mysql/data --innodb_undo_directory=/opt/mysql/undo --innodb_undo_tablespaces=4 --socket=/opt/mysql/tmp/mysql.socket --port=3306 --innodb_data_file_path=ibdata1=512M:autoextend --lower-case-table-names=1

7.软连接与开机启动项设置

  1.ln -s /usr/local/mysql/bin/mysql /usr/bin

  2.mysqld配置,拷贝启动文件到/etc/init.d/目录下并重命令为mysqld

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

   3.检查自启动项列表中有没有mysqld

    chkconfig --list mysqld

  4.如果没有就添加mysqld

    chkconfig --add mysqld

  5.设置开机启动

    chkconfig mysqld on

   6.启动测试

    service mysqld start

8.如果启动过程中遇到pid问题解决办法

  1.如果无法启动,且提示pid错误;首先一定要确认配置文件有没有打错字母,改正后,删除data目录

    rm -rf /opt/mysql/data

  2.重新初始化一遍

    /usr/local/mysql/bin/mysqld --initialize

  3.记下密码后,追加755权限给data目录

    chmod 755 /opt/mysql/data

  4.再重新启动mysql服务

    service mysqld start

,