200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 阿里云ECS 搭建MySQL5.7数据库环境

阿里云ECS 搭建MySQL5.7数据库环境

时间:2023-04-12 02:47:16

相关推荐

阿里云ECS 搭建MySQL5.7数据库环境

为什么80%的码农都做不了架构师?>>>

配置mysql yum源

[root@iZbp1j6oiamq7t2otpryarZ ~]# cd /data/[root@iZbp1j6oiamq7t2otpryarZ data]# lltotal 0###################################下载mysql源安装包#[root@iZbp1j6oiamq7t2otpryarZ data]# wget -P ./ /get/mysql57-community-release-el7-8.noarch.rpm---11-02 13:04:56-- /get/mysql57-community-release-el7-8.noarch.rpmResolving ()... 137.254.60.11Connecting to ()|137.254.60.11|:80... connected.HTTP request sent, awaiting response... 301 Moved PermanentlyLocation: /get/mysql57-community-release-el7-8.noarch.rpm [following]---11-02 13:04:57-- /get/mysql57-community-release-el7-8.noarch.rpmConnecting to ()|137.254.60.11|:443... connected.HTTP request sent, awaiting response... 302 FoundLocation: //mysql57-community-release-el7-8.noarch.rpm [following]---11-02 13:04:59-- //mysql57-community-release-el7-8.noarch.rpmResolving ()... 118.215.180.109Connecting to ()|118.215.180.109|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 9116 (8.9K) [application/x-redhat-package-manager]Saving to: ‘./mysql57-community-release-el7-8.noarch.rpm’100%[===================================================================================================>] 9,116 --.-K/s in 0s-11-02 13:04:59 (145 MB/s) - ‘./mysql57-community-release-el7-8.noarch.rpm’ saved [9116/9116][root@iZbp1j6oiamq7t2otpryarZ data]# lltotal 12-rw-r--r-- 1 root root 9116 Apr 11 mysql57-community-release-el7-8.noarch.rpm####################################安装mysql源#[root@iZbp1j6oiamq7t2otpryarZ data]# yum localinstall mysql57-community-release-el7-8.noarch.rpmLoaded plugins: fastestmirrorExamining mysql57-community-release-el7-8.noarch.rpm: mysql57-community-release-el7-8.noarchMarking mysql57-community-release-el7-8.noarch.rpm to be installedResolving Dependencies--> Running transaction check---> Package mysql57-community-release.noarch 0:el7-8 will be installed--> Finished Dependency ResolutionDependencies Resolved=============================================================================================================================================Package ArchVersionRepository Size=============================================================================================================================================Installing:mysql57-community-release noarch el7-8 /mysql57-community-release-el7-8.noarch 8.2 kTransaction Summary=============================================================================================================================================Install 1 PackageTotal size: 8.2 kInstalled size: 8.2 kIs this ok [y/d/N]: yDownloading packages:Running transaction checkRunning transaction testTransaction test succeededRunning transactionInstalling : mysql57-community-release-el7-8.noarch 1/1 Verifying : mysql57-community-release-el7-8.noarch 1/1 Installed:mysql57-community-release.noarch 0:el7-8 Complete!####################################检查mysql源是否安装成功#[root@iZbp1j6oiamq7t2otpryarZ data]# yum repolist enabled | grep "mysql.*-community.*"mysql-connectors-community/x86_64 MySQL Connectors Community 42mysql-tools-community/x86_64MySQL Tools Community 51mysql57-community/x86_64MySQL 5.7 Community Server 227###########看到上面内容,表示安装成功。##################################### mysql源配置文件:/etc/yum.repos.d/mysql-community.repo# 比如要安装5.6版本,可将5.7源的enabled=1改成enabled=0。并将5.6源的enabled=0改成enabled=1即可。####################################[root@iZbp1j6oiamq7t2otpryarZ data]# cat /etc/yum.repos.d/mysql-community.repo[mysql-connectors-community]name=MySQL Connectors Communitybaseurl=/yum/mysql-connectors-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-community]name=MySQL Tools Communitybaseurl=/yum/mysql-tools-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.5[mysql55-community]name=MySQL 5.5 Community Serverbaseurl=/yum/mysql-5.5-community/el/7/$basearch/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.6[mysql56-community]name=MySQL 5.6 Community Serverbaseurl=/yum/mysql-5.6-community/el/7/$basearch/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql57-community]name=MySQL 5.7 Community Serverbaseurl=/yum/mysql-5.7-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-preview]name=MySQL Tools Previewbaseurl=/yum/mysql-tools-preview/el/7/$basearch/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[root@iZbp1j6oiamq7t2otpryarZ data]#

安装mysql:

#################################### 安装MySQL #[root@iZbp1j6oiamq7t2otpryarZ data]# yum install mysql-community-serverLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfileResolving Dependencies--> Running transaction check---> Package mysql-community-server.x86_64 0:5.7.20-1.el7 will be installed--> Processing Dependency: mysql-community-common(x86-64) = 5.7.20-1.el7 for package: mysql-community-server-5.7.20-1.el7.x86_64--> Processing Dependency: mysql-community-client(x86-64) >= 5.7.9 for package: mysql-community-server-5.7.20-1.el7.x86_64--> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: mysql-community-server-5.7.20-1.el7.x86_64--> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: mysql-community-server-5.7.20-1.el7.x86_64--> Processing Dependency: libaio.so.1()(64bit) for package: mysql-community-server-5.7.20-1.el7.x86_64--> Running transaction check---> Package libaio.x86_64 0:0.3.109-13.el7 will be installed---> Package mysql-community-client.x86_64 0:5.7.20-1.el7 will be installed--> Processing Dependency: mysql-community-libs(x86-64) >= 5.7.9 for package: mysql-community-client-5.7.20-1.el7.x86_64---> Package mysql-community-common.x86_64 0:5.7.20-1.el7 will be installed--> Running transaction check---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be obsoleted--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64---> Package mysql-community-libs.x86_64 0:5.7.20-1.el7 will be obsoleting--> Running transaction check---> Package mysql-community-libs-compat.x86_64 0:5.7.20-1.el7 will be obsoleting--> Finished Dependency ResolutionDependencies Resolved=============================================================================================================================================Package Arch VersionRepositorySize=============================================================================================================================================Installing:mysql-community-libs x86_64 5.7.20-1.el7 mysql57-community 2.1 Mreplacing mariadb-libs.x86_64 1:5.5.52-1.el7mysql-community-libs-compat x86_64 5.7.20-1.el7 mysql57-community 2.0 Mreplacing mariadb-libs.x86_64 1:5.5.52-1.el7mysql-community-server x86_64 5.7.20-1.el7 mysql57-community 164 MInstalling for dependencies:libaio x86_64 0.3.109-13.el7 base 24 kmysql-community-client x86_64 5.7.20-1.el7 mysql57-community 24 Mmysql-community-common x86_64 5.7.20-1.el7 mysql57-community 272 kTransaction Summary=============================================================================================================================================Install 3 Packages (+3 Dependent packages)Total download size: 192 MIs this ok [y/d/N]: yDownloading packages:(1/6): libaio-0.3.109-13.el7.x86_64.rpm | 24 kB 00:00:00warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.20-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYPublic key for mysql-community-common-5.7.20-1.el7.x86_64.rpm is not installed(2/6): mysql-community-common-5.7.20-1.el7.x86_64.rpm| 272 kB 00:00:00(3/6): mysql-community-libs-5.7.20-1.el7.x86_64.rpm | 2.1 MB 00:00:00(4/6): mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm| 2.0 MB 00:00:00(5/6): mysql-community-client-5.7.20-1.el7.x86_64.rpm| 24 MB 00:00:08(6/6): mysql-community-server-5.7.20-1.el7.x86_64.rpm| 164 MB 00:01:10---------------------------------------------------------------------------------------------------------------------------------------------Total 2.6 MB/s | 192 MB 00:01:13Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysqlImporting GPG key 0x5072E1F5:Userid: "MySQL Release Engineering <mysql-build@>"Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5Package : mysql57-community-release-el7-8.noarch (installed)From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysqlIs this ok [y/N]: yRunning transaction checkRunning transaction testTransaction test succeededRunning transactionInstalling : mysql-community-common-5.7.20-1.el7.x86_641/7 Installing : mysql-community-libs-5.7.20-1.el7.x86_64 2/7 Installing : mysql-community-client-5.7.20-1.el7.x86_643/7 Installing : libaio-0.3.109-13.el7.x86_64 4/7 Installing : mysql-community-server-5.7.20-1.el7.x86_645/7 Installing : mysql-community-libs-compat-5.7.20-1.el7.x86_646/7 Erasing : 1:mariadb-libs-5.5.52-1.el7.x86_64 7/7 Verifying : mysql-community-libs-5.7.20-1.el7.x86_64 1/7 Verifying : mysql-community-server-5.7.20-1.el7.x86_642/7 Verifying : mysql-community-common-5.7.20-1.el7.x86_643/7 Verifying : mysql-community-client-5.7.20-1.el7.x86_644/7 Verifying : mysql-community-libs-compat-5.7.20-1.el7.x86_645/7 Verifying : libaio-0.3.109-13.el7.x86_64 6/7 Verifying : 1:mariadb-libs-5.5.52-1.el7.x86_64 7/7 Installed:mysql-community-libs.x86_64 0:5.7.20-1.el7 mysql-community-libs-compat.x86_64 0:5.7.20-1.el7 mysql-community-server.x86_64 0:5.7.20-1.el7Dependency Installed:libaio.x86_64 0:0.3.109-13.el7 mysql-community-client.x86_64 0:5.7.20-1.el7 mysql-community-common.x86_64 0:5.7.20-1.el7Replaced:mariadb-libs.x86_64 1:5.5.52-1.el7Complete!

启动mysql服务

[root@iZbp1j6oiamq7t2otpryarZ data]# systemctl start mysqld[root@iZbp1j6oiamq7t2otpryarZ data]# systemctl status mysqld● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Thu -11-02 13:23:48 CST; 18s agoDocs: man:mysqld(8)/doc/refman/en/using-systemd.htmlProcess: 23892 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 23818 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 23895 (mysqld)CGroup: /system.slice/mysqld.service└─23895 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidNov 02 13:23:42 iZbp1j6oiamq7t2otpryarZ systemd[1]: Starting MySQL Server...Nov 02 13:23:48 iZbp1j6oiamq7t2otpryarZ systemd[1]: Started MySQL Server.

开机启动

[root@iZbp1j6oiamq7t2otpryarZ data]# systemctl enable mysqld[root@iZbp1j6oiamq7t2otpryarZ data]# systemctl daemon-reload

停止mysql服务

[root@iZbp1j6oiamq7t2otpryarZ data]# systemctl stop mysqld[root@iZbp1j6oiamq7t2otpryarZ data]# systemctl status mysqld● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: inactive (dead) since Thu -11-02 13:31:35 CST; 5s agoDocs: man:mysqld(8)/doc/refman/en/using-systemd.htmlMain PID: 23895 (code=exited, status=0/SUCCESS)Nov 02 13:23:42 iZbp1j6oiamq7t2otpryarZ systemd[1]: Starting MySQL Server...Nov 02 13:23:48 iZbp1j6oiamq7t2otpryarZ systemd[1]: Started MySQL Server.Nov 02 13:31:33 iZbp1j6oiamq7t2otpryarZ systemd[1]: Stopping MySQL Server...Nov 02 13:31:35 iZbp1j6oiamq7t2otpryarZ systemd[1]: Stopped MySQL Server.[root@iZbp1j6oiamq7t2otpryarZ data]#

更改数据文件位置:

将/var/lib下的mysql目录,mv(移动)到/data目录下:

为什么要用mv命令,而不用cp命令呢?应为linux文件系统特殊性,mv命令能保留文件的所有属性和权限,尤其是selinux属性。如果用cp命令,就需要回头再去设置mysql文件夹的selinux属性,本人因很头疼selinux故能避则避。

[root@iZbp1j6oiamq7t2otpryarZ data]# mv /var/lib/mysql /data/mysql[root@iZbp1j6oiamq7t2otpryarZ data]# lltotal 12drwxr-x--x 5 mysql mysql 314 Nov 2 13:31 mysql-rw-r--r-- 1 root root 9116 Apr 11 mysql57-community-release-el7-8.noarch.rpm[root@iZbp1j6oiamq7t2otpryarZ data]#

修改mysql配置文件/etc/f。将datadir和socket的路径改为/data目录下:

[root@iZbp1j6oiamq7t2otpryarZ data]# cat /etc/f# For advice on how to change settings please see# /doc/refman/5.7/en/server-configuration-defaults.html[mysqld]## Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M## Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin## Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2Mdatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid[root@iZbp1j6oiamq7t2otpryarZ data]# vi /etc/f[root@iZbp1j6oiamq7t2otpryarZ data]# cat /etc/f# For advice on how to change settings please see# /doc/refman/5.7/en/server-configuration-defaults.html[mysqld]## Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M## Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin## Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2Mdatadir=/data/mysqlsocket=/data/mysql/mysql.sock[mysqld_safe]socket=/data/mysql/mysql.sock[client]socket=/data/mysql/mysql.sock[mysql.server]socket=/data/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid[root@iZbp1j6oiamq7t2otpryarZ data]#

然后重新启动mysql服务:

[root@iZbp1j6oiamq7t2otpryarZ data]# systemctl restart mysqld[root@iZbp1j6oiamq7t2otpryarZ data]# systemctl status mysqld● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Thu -11-02 13:40:54 CST; 5s agoDocs: man:mysqld(8)/doc/refman/en/using-systemd.htmlProcess: 24037 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 24019 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 24040 (mysqld)CGroup: /system.slice/mysqld.service└─24040 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidNov 02 13:40:53 iZbp1j6oiamq7t2otpryarZ systemd[1]: Starting MySQL Server...Nov 02 13:40:54 iZbp1j6oiamq7t2otpryarZ systemd[1]: Started MySQL Server.[root@iZbp1j6oiamq7t2otpryarZ data]#

修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

[root@iZbp1j6oiamq7t2otpryarZ data]# grep 'temporary password' /var/log/mysqld.log-11-02T05:23:44.524190Z 1 [Note] A temporary password is generated for root@localhost: MyOldPass123![root@iZbp1j6oiamq7t2otpryarZ data]#

[root@iZbp1j6oiamq7t2otpryarZ data]# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.7.20Copyright (c) 2000, , Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';

或者

mysql> set password for 'root'@'localhost'=password('MyNewPass123!');

注意:

mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位,否则会提示:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'gq123!mysql';ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

通过msyql环境变量可以查看密码策略的相关信息:

mysql> show variables like '%password%';+---------------------------------------+--------+| Variable_name| Value |+---------------------------------------+--------+| default_password_lifetime | 0|| disconnect_on_expired_password | ON|| log_builtin_as_identified_by_password | OFF || mysql_native_password_proxy_users| OFF || old_passwords| 0|| report_password | || sha256_password_proxy_users | OFF || validate_password_check_user_name| OFF || validate_password_dictionary_file| || validate_password_length | 8|| validate_password_mixed_case_count | 1|| validate_password_number_count | 1|| validate_password_policy | MEDIUM || validate_password_special_char_count | 1|+---------------------------------------+--------+14 rows in set (0.00 sec)mysql>

validate_password_policy:密码策略,默认为MEDIUM策略

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

validate_password_length:密码最少长度

validate_password_mixed_case_count:大小写字符长度,至少1个

validate_password_number_count :数字至少1个

validate_password_special_char_count:特殊字符至少1个

上述参数是默认策略MEDIUM的密码检查规则。

共有以下几种密码策略:

MySQL官网密码策略详细说明:

/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy

修改密码策略

在/etc/f文件添加validate_password_policy配置,指定密码策略

# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件validate_password_policy=0

如果不需要密码策略,添加f文件中添加如下配置禁用即可:

validate_password = off

重新启动mysql服务使配置生效:

systemctl restart mysqld

添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'yuanchengyonghu'@'%' IDENTIFIED BY 'MyNewPass123' WITH GRANT OPTION;

配置默认编码为utf8

修改/etc/f配置文件,在[mysqld]下添加编码配置,如下所示:

#在[mysqld]下添加如下内容#character_set_server=utf8init_connect='SET NAMES utf8'

设置mysql大小不敏感

lower_case_table_names=1

设置最大连接数及超时时间

max_connections=1000#max_user_connections=500wait_timeout=2880

重新启动mysql服务,查看数据库默认编码如下:

[root@iZbp1j6oiamq7t2otpryarZ data]# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 5Server version: 5.7.20 MySQL Community Server (GPL)Copyright (c) 2000, , Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show variables like '%character%';+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client| utf8 || character_set_connection | utf8 || character_set_database | utf8 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server| utf8 || character_set_system| utf8 || character_sets_dir | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+8 rows in set (0.01 sec)mysql>

默认配置文件路径:

配置文件:/etc/f

日志文件:/var/log/var/log/mysqld.log

服务启动脚本:/usr/lib/systemd/system/mysqld.service

socket文件:/var/run/mysqld/mysqld.pid

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。