kingschan1204 / blog

个人技术blog
https://github.com/kingschan1204/blog/issues
1 stars 1 forks source link

centos7 安装mysql #10

Open kingschan1204 opened 6 years ago

kingschan1204 commented 6 years ago

添加MySQL Yum存储库

首先,将MySQL Yum存储库添加到系统的存储库列表中。按着这些次序: 访问MySQL Yum存储库的下载页面,地址为http://dev.mysql.com/downloads/repo/yum/1

下载

2

安装

使用以下命令安装下载的发行包

sudo rpm -Uvh mysql80-community-release-el7-1.noarch.rpm

3

选择一个发布系列

在使用MySQL Yum存储库时,默认选择安装最新的MySQL版本的MySQL。如果这是你想要的,你可以跳到下一步, 用Yum安装MySQL。 在MySQL Yum存储库(http://repo.mysql.com/yum/)中,MySQL社区服务器的不同版本系列托管在不同的子存储库中。最新的GA系列(目前是MySQL 8.0)的子库是默认启用的,所有其他系列的子库(例如MySQL 5.7系列)默认是禁用的。使用此命令查看MySQL Yum存储库中的所有子存储库,并查看其中哪些被启用或禁用(对于启用了dnf的系统,用dnf替换 该命令中的 yum):

yum repolist all | grep mysql

4

要安装最新GA系列的最新版本,不需要配置。要从最新GA系列以外的特定系列安装最新版本,请在运行安装命令之前禁用最新GA系列的子库,并为特定系列启用子库。如果您的平台支持 yum-config-manager或dnf config-manager命令,则可以通过发出以下命令来执行此操作,例如,禁用8.0系列的子存储库并启用5.7系列的子存储库; 对于不支持dnf的平台:

shell> sudo yum-config-manager --disable mysql80-community
shell> sudo yum-config-manager --enable mysql57-community

对于支持dnf的平台:

shell> sudo dnf config-manager --disable mysql80-community
shell> sudo dnf config-manager --enable mysql57-community

除了使用yum-config-manager或 dnf config-manager命令外,您还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择一个系列 。这是该文件中版本系列的子版本库的典型条目:

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

找到要配置的子存储库的条目,然后编辑该enabled选项。指定 enabled=0禁用子库,或 enabled=1启用子库。例如,要安装MySQL 5.7,请确保您已enabled=0获得MySQL 8.0的上述子版本库条目,并且具有 enabled=15.7系列的条目:

# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

只能在任何时候为一个发行版系列启用子库。当启用多个版本系列的子库时,Yum会使用最新系列。

通过运行以下命令并检查其输出(对于启用了dnf的系统,用dnf替换命令中的yum), 验证是否已启用和禁用正确的子库 :

shell> yum repolist enabled | grep mysql

安装MySQL

通过以下命令安装MySQL(对于启用了dnf的系统,请使用dnf替换命令中的 yum):

shell> sudo yum install mysql-community-server
# 这将安装MySQL服务器的软件包以及其他必需的软件包。

启动MySQL服务器

使用以下命令启动MySQL服务器:

sudo service mysqld start

对于基于EL7的平台,这是首选命令:

sudo systemctl start mysqld.service

您可以使用以下命令检查MySQL服务器的状态:

sudo service mysqld status

对于基于EL7的平台,这是首选命令:

sudo systemctl status mysqld.service

MySQL服务器初始化(从MySQL 5.7开始):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

服务器已初始化。

在数据目录中生成SSL证书和密钥文件。

validate_password插件安装并启用。

超级用户帐户'root'@'localhost' 已创建。超级用户的密码被设置并存储在错误日志文件中。要显示它,请使用以下命令:

sudo grep 'temporary password' /var/log/mysqld.log

通过使用生成的临时密码登录并尽快更改root密码并为超级用户帐户设置自定义密码:

mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

注意

MySQL的 validate_password 插件默认安装。这将要求密码至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符,并且总密码长度至少为8个字符。

MySql取消密码强度验证功能

vi /etc/my.cnf

在文件末尾添加以下内容:

plugin-load=validate_password.so 
validate-password=OFF

重启服务使配置生效:

service mysqld restart

开启远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' 
flush privileges; 

关闭防火墙

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld 
开机禁用  : systemctl disable firewalld
开机启用  : systemctl enable firewalld

mysql5.7 中文乱码

执行命令:vi /etc/my.cnf

[mysqld]
character_set_server=utf8

然后重启mysql服务问题解决

sudo systemctl restart mysqld

mysql1