1. 程式人生 > 實用技巧 >【MySQL Database】install mysql 5.7 on centos 7.5

【MySQL Database】install mysql 5.7 on centos 7.5

[root@wallet01 ~]# cat >> /etc/hosts <<EOF
192.168.40.34   wallet01
EOF

[root@wallet01 ~]# useradd mysql
[root@wallet01 ~]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)

[root@wallet01 ~]# cat >> /etc/security/limits.conf <<EOF
mysql            soft    nproc          4096
mysql            hard    nproc          65535
mysql            soft    nofile         4096
mysql            hard    nofile         65535
EOF

[root@wallet01 ~]# yum install -y libaio yum-utils

[root@wallet01 ~]# rpm -ivh mysql80-community-release-el6-3.noarch.rpm

[root@wallet01 ~]# yum-config-manager --disable mysql80-community

[root@wallet01 ~]# yum-config-manager --enable mysql57-community

[root@wallet01 ~]# yum repolist all | grep mysql 
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community   disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community   disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community   disabled
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - disabled
mysql-connectors-community/x86_64  MySQL Connectors Community    enabled:    175
mysql-connectors-community-source  MySQL Connectors Community -  disabled
mysql-tools-community/x86_64       MySQL Tools Community         enabled:    120
mysql-tools-community-source       MySQL Tools Community - Sourc disabled
mysql-tools-preview/x86_64         MySQL Tools Preview           disabled
mysql-tools-preview-source         MySQL Tools Preview - Source  disabled
mysql55-community/x86_64           MySQL 5.5 Community Server    disabled
mysql55-community-source           MySQL 5.5 Community Server -  disabled
mysql56-community/x86_64           MySQL 5.6 Community Server    disabled
mysql56-community-source           MySQL 5.6 Community Server -  disabled
mysql57-community/x86_64           MySQL 5.7 Community Server    enabled:    464
mysql57-community-source           MySQL 5.7 Community Server -  disabled
mysql80-community/x86_64           MySQL 8.0 Community Server    disabled
mysql80-community-source           MySQL 8.0 Community Server -  disabled

[root@wallet01 ~]# yum install -y mysql-community-server

[root@wallet01 ~]# vim /etc/my.cnf
[mysqld]
user = mysql  
port = 3306 
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
character-set-server = utf8
open-files-limit = 65535

sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

innodb_buffer_pool_size = 2G
innodb_buffer_pool_instances = 2

innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_log_buffer_size = 16M

innodb_undo_logs= 128
innodb_undo_tablespaces = 3
innodb_data_file_path = ibdata1:2048M:autoextend

tmp_table_size = 256M
max_heap_table_size = 256M

key_buffer_size = 32M
max_allowed_packet = 32M

slow_query_log = 1
long_query_time = 2

log-error = /var/lib/mysql/error.log
log_timestamps = SYSTEM

wait_timeout=43200  
interactive_timeout=43200

max_connections = 500
max_connect_errors = 10000

[mysql]
socket = /var/lib/mysql/mysql.sock

[root@wallet01 ~]# mysqld --initialize-insecure

[root@wallet01 ~]# systemctl start mysqld.service

[root@wallet01 ~]# systemctl status mysqld.service

[root@wallet01 ~]# netstat -tunlp | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      22255/mysqld

[root@wallet01 ~]# mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: n

##修改root密碼
Please set the password for root here.

New password: 

Re-enter new password: 
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

##刪除匿名使用者
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

##禁止root遠端登入
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

##刪除測試庫
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

##重新整理許可權
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

[root@wallet01 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 231
Server version: 5.7.32-log MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> select version();
+------------+
| version()  |
+------------+
| 5.7.32-log |
+------------+
1 row in set (0.00 sec)