zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

centos 7.4 + mysql 5.7 + 二进制 安装详解数据库

2023-06-13 09:20:08 时间

os: centos 7.4
db: mysql 5.7

# yum install make cmake *gcc* libaio libaio-devel automake autoconf bz bison libtool ncurses wget perl-DBI perl-DBD-MySQL perl-JSON perl-Time-HiRes perl-devel numactl* bzip2 git openssl openssl-devel 

修改 NOZEROCONF

# vi /etc/sysconfig/network 

NOZEROCONF=YES

修改IO调度器设置
elevator=deadline
关闭 NUMA 特性
numa=off
禁用透明大页
transparent_hugepage=never

# vi /etc/default/grub 

# grub2-mkconfig -o /boot/grub2/grub.cfg 

修改os内核参数

# vi /etc/sysctl.conf 

vm.swappiness = 1 

调整资源限制

# vi /etc/security/limits.conf 

* soft nofile 65535 

* hard nofile 65535 

* soft nproc 65535 

* hard nproc 65535

禁止selinux

 vi /etc/sysconfig/selinux 

 SELINUX=DISABLED 

 vi /etc/selinux/config 

 SELINUX=disabled

sshd中关闭UseDNS

vi /etc/ssh/sshd_config 

UseDNS no 

systemctl restart sshd

确认安装sysstat

rpm -qa | grep sysstat

安装mysql 软件
添加一个mysql组及用户,默认存在mysql用户(MariaDB Server)
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin

# groupadd mysql 

# useradd -r -g mysql mysql 

# mkdir -p /usr/local/mysql 

# chown -R mysql:mysql /usr/local/mysql/ 

basedir=/usr/local/mysql/ 

datadir=/var/lib/mysql 


# cd /usr/local/mysql/bin 

# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/var/lib/mysql/ 

2018-03-26T08:31:53.761393Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 

2018-03-26T08:31:55.234236Z 0 [Warning] InnoDB: New log files created, LSN=45790 

2018-03-26T08:31:55.304877Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 

2018-03-26T08:31:55.423472Z 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: 243eec6c-30d0-11e8-adff-0800273d32a4. 

2018-03-26T08:31:55.427992Z 0 [Warning] Gtid table is not ready to be used. Table mysql.gtid_executed cannot be opened. 

2018-03-26T08:31:55.429849Z 1 [Note] A temporary password is generated for [email protected]: )kyYcrsc=7r%
# ls -l /var/lib/mysql/ 

total 110628 

-rw-r----- 1 mysql mysql 56 Mar 26 16:31 auto.cnf 

-rw-r----- 1 mysql mysql 420 Mar 26 16:31 ib_buffer_pool 

-rw-r----- 1 mysql mysql 12582912 Mar 26 16:31 ibdata1 

-rw-r----- 1 mysql mysql 50331648 Mar 26 16:31 ib_logfile0 

-rw-r----- 1 mysql mysql 50331648 Mar 26 16:31 ib_logfile1 

drwxr-x--- 2 mysql mysql 4096 Mar 26 16:31 mysql 

drwxr-x--- 2 mysql mysql 8192 Mar 26 16:31 performance_schema 

drwxr-x--- 2 mysql mysql 8192 Mar 26 16:31 sys

ssl

# ./mysql_ssl_rsa_setup --datadir=/var/lib/mysql/ 

Generating a 2048 bit RSA private key 

......................+++ 

.....................................................+++ 

writing new private key to ca-key.pem 

----- 

Generating a 2048 bit RSA private key 

.....................................................................+++ 

...................................+++ 

writing new private key to server-key.pem 

----- 

Generating a 2048 bit RSA private key 

...+++ 

..................................................................+++ 

writing new private key to client-key.pem 

----- 

# ls -l /var/lib/mysql/ 

total 110660 

-rw-r----- 1 mysql mysql 56 Mar 26 16:31 auto.cnf 

-rw------- 1 root root 1675 Mar 26 16:33 ca-key.pem 

-rw-r--r-- 1 root root 1107 Mar 26 16:33 ca.pem 

-rw-r--r-- 1 root root 1107 Mar 26 16:33 client-cert.pem 

-rw------- 1 root root 1679 Mar 26 16:33 client-key.pem 

-rw-r----- 1 mysql mysql 420 Mar 26 16:31 ib_buffer_pool 

-rw-r----- 1 mysql mysql 12582912 Mar 26 16:31 ibdata1 

-rw-r----- 1 mysql mysql 50331648 Mar 26 16:31 ib_logfile0 

-rw-r----- 1 mysql mysql 50331648 Mar 26 16:31 ib_logfile1 

drwxr-x--- 2 mysql mysql 4096 Mar 26 16:31 mysql 

drwxr-x--- 2 mysql mysql 8192 Mar 26 16:31 performance_schema 

-rw------- 1 root root 1675 Mar 26 16:33 private_key.pem 

-rw-r--r-- 1 root root 451 Mar 26 16:33 public_key.pem 

-rw-r--r-- 1 root root 1107 Mar 26 16:33 server-cert.pem 

-rw------- 1 root root 1679 Mar 26 16:33 server-key.pem 

drwxr-x--- 2 mysql mysql 8192 Mar 26 16:31 sys

一些额外工作

# cd /usr/local/mysql/support-files 

# cp ./mysql.server /etc/init.d/mysql.server 

# vi /etc/my.cnf 


# /etc/init.d/mysql.server stop

如果密码过期或者没记住通过skip-grant-tables可以解决

# vi /etc/my.cnf 

[mysqld] 

skip-grant-tables 


set authentication_string = password(rootroot) where host=localhost and user=root flush privileges;

如果出现密码过期的错误,可以启用skip-grant-tables再次update

ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
update mysql.user 

set password_expired=N 

where host=localhost and user=root; 

flush privileges;

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3896.html

mysql