centos7使用MySQL的Yum存储库安装mysql5.7.27
下载yum源
官网地址:http://dev.mysql.com/downloads/repo/yum/
centos7系统:
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
---- ::-- https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11
Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:... connected.
HTTP request sent, awaiting response... Found
Location: https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm [following]
---- ::-- https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
Resolving repo.mysql.com (repo.mysql.com)... 104.74.21.42
Connecting to repo.mysql.com (repo.mysql.com)|104.74.21.42|:... connected.
HTTP request sent, awaiting response... OK
Length: (25K) [application/x-redhat-package-manager]
Saving to: ‘mysql57-community-release-el7-.noarch.rpm’ %[===================================================================================================================>] , --.-K/s in .1s -- :: ( KB/s) - ‘mysql57-community-release-el7-.noarch.rpm’ saved [/] [root@localhost ~]# ls
anaconda-ks.cfg mysql57-community-release-el7-.noarch.rpm
检测系统是否自带安装mysql
# yum list installed | grep mysql
删除系统自带的mysql
# yum -y remove mysql-libs.x86_64
这个mysql的yum源服务器在国外,所以下载速度会比较慢,mysql5.6只有79M大,而mysql5.7就有182M。
安装mysql57-community-release-el7-11.noarch.rpm包
# yum -y install mysql57-community-release-el7-11.noarch.rpm
[root@localhost ~]# yum -y install mysql57-community-release-el7-.noarch.rpm
Loaded plugins: fastestmirror
Examining mysql57-community-release-el7-.noarch.rpm: mysql57-community-release-el7-.noarch
Marking mysql57-community-release-el7-.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package mysql57-community-release.noarch :el7- will be installed
--> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================
Package Arch Version Repository Size
=============================================================================================================================================================
Installing:
mysql57-community-release noarch el7- /mysql57-community-release-el7-.noarch k Transaction Summary
=============================================================================================================================================================
Install Package Total size: k
Installed size: k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mysql57-community-release-el7-.noarch /
Verifying : mysql57-community-release-el7-.noarch / Installed:
mysql57-community-release.noarch :el7- Complete!
安装完这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo
[root@localhost ~]# ls /etc/yum.repos.d/
centos.repo mysql-community.repo mysql-community-source.repo
# cat /etc/yum.repos.d/mysql-community.repo
[root@localhost ~]# cat /etc/yum.repos.d/mysql-community.repo
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-preview]
name=MySQL Tools Preview
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-cluster-7.5-community]
name=MySQL Cluster 7.5 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-cluster-7.6-community]
name=MySQL Cluster 7.6 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.6-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# cat /etc/yum.repos.d/mysql-community-source.repo
[root@localhost ~]# cat /etc/yum.repos.d/mysql-community-source.repo
[mysql-connectors-community-source]
name=MySQL Connectors Community - Source
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-community-source]
name=MySQL Tools Community - Source
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql55-community-source]
name=MySQL 5.5 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql56-community-source]
name=MySQL 5.6 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql57-community-source]
name=MySQL 5.7 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql80-community-source]
name=MySQL 8.0 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-preview-source]
name=MySQL Tools Preview - Source
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-cluster-7.5-community-source]
name=MySQL Cluster 7.5 Community - Source
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-cluster-7.6-community-source]
name=MySQL Cluster 7.6 Community - Source
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.6-community/el/7/SRPMS
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
用yum repolist mysql这个命令查看一下是否已经有mysql可安装文件
# yum repolist all | grep mysql
[root@localhost ~]# 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-connectors-community/x86_64 MySQL Connectors Community enabled:
mysql-connectors-community-source MySQL Connectors Community - disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled:
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:
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
安装mysql
# yum install mysql-server -y
比较慢,耐心等待
Installed:
mysql-community-libs.x86_64 :5.7.-.el7 mysql-community-libs-compat.x86_64 :5.7.-.el7 mysql-community-server.x86_64 :5.7.-.el7 Dependency Installed:
mysql-community-client.x86_64 :5.7.-.el7 mysql-community-common.x86_64 :5.7.-.el7 net-tools.x86_64 :2.0-0.24.20131004git.el7 Dependency Updated:
openssl.x86_64 :1.0.2k-.el7_6. openssl-libs.x86_64 :1.0.2k-.el7_6. postfix.x86_64 :2.10.-.el7 Replaced:
mariadb-libs.x86_64 :5.5.-.el7.centos Complete!
安装mysql指定版本,例如安装mysql5.7.22版
# yum install mysql-community-server-5.7.22 -y
下载rpm安装包到/opt/pages
# yum install --downloadonly --downloaddir=/opt/pages mysql-community-server-5.7.22
加入开机自启动
# systemctl enable mysqld
启动mysql服务进程
# systemctl start mysqld
查看mysql服务进程
# systemctl status mysqld
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]#
[root@localhost ~]# systemctl status mysqld
â— mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sat -- :: CST; 7s ago
Docs: man:mysqld()
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=/SUCCESS)
Process: ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=/SUCCESS)
Main PID: (mysqld)
CGroup: /system.slice/mysqld.service
└─ /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid Aug :: localhost.localdomain systemd[]: Starting MySQL Server...
Aug :: localhost.localdomain systemd[]: Started MySQL Server.
进入mysql
# mysql
[root@localhost ~]# mysql
ERROR (): Access denied for user 'root'@'localhost' (using password: NO)
MySQL服务器初始化(从MySQL 5.7开始):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:
(1)、服务器已初始化
(2)、在数据目录中生成SSL证书和密钥文件
(3)、该validate_password插件安装并启用
(4)、将'root'@'localhost'
创建一个超级用户帐户。设置超级用户的密码并将其存储在日志文件中。要显示它,请使用以下命令:
# grep "password" /var/log/mysqld.log
[root@localhost ~]# grep "password" /var/log/mysqld.log
--10T14::.529782Z [Note] A temporary password is generated for root@localhost: #&kdOvHin6gP
--10T14::.145451Z [Note] Access denied for user 'root'@'localhost' (using password: NO)
使用用户名密码进入mysql
[root@localhost ~]# mysql -uroot -p
Enter password: #输入初始密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7. Copyright (c) , , 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>
输入初始密码进入mysql数据库,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库
mysql> show databases;
ERROR (HY000): You must reset your password using ALTER USER statement before executing this statement
修改mysql密码
注意:
MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';
ERROR (HY000): Your password does not satisfy the current policy requirements
mysql> SET PASSWORD = PASSWORD('Admin123!');
mysql> SET PASSWORD = PASSWORD('Admin123!');
Query OK, rows affected, warning (0.00 sec)
MySQL完整的初始密码规则可以通过如下命令查看:
mysql> SHOW VARIABLES LIKE 'validate_password%';
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | |
| validate_password_mixed_case_count | |
| validate_password_number_count | |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | |
+--------------------------------------+--------+
rows in set (0.01 sec)
密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + ( * validate_password_mixed_case_count)
如果只想设置简单密码需要修改两个全局参数:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> set global validate_password_policy=;
Query OK, rows affected (0.00 sec) mysql> set global validate_password_length=;
Query OK, rows affected (0.00 sec)
再次查看mysql密码规则
mysql> SHOW VARIABLES LIKE 'validate_password%';
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | |
| validate_password_mixed_case_count | |
| validate_password_number_count | |
| validate_password_policy | LOW |
| validate_password_special_char_count | |
+--------------------------------------+-------+
rows in set (0.00 sec)
此时密码就可以设置的很简单,例如1234之类的
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';
Query OK, rows affected (0.00 sec)
设置远程可以登录
授权远程登录
grant all privileges on *.* to root@'%' identified by 'password' with grant option;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;
第一个是你的用户名root,第二个password是远程的密码
mysql> grant all privileges on *.* to root@'%' identified by '123456' with grant option
flush命令使配置立即生效
mysql> flush privileges;
mysql> select user,host from mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
rows in set (0.00 sec) mysql> grant all privileges on *.* to root@'%' identified by '' with grant option;
Query OK, rows affected, warning (0.01 sec) mysql> flush privileges;
Query OK, rows affected (0.00 sec) mysql> select user,host from mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
rows in set (0.00 sec)
或者使用一下语句修改授权远程客户端登录
use mysql;
show tables;
select Host,User from user \G
update user set host = '%' where Host = "localhost" and user = "root";
修改一些简单的配置:
默认的字符集是拉丁字符集,每次创建数据库的时候要设置字符集;默认还不支持group by语句,默认的时区也不是我们现在的北京时间(东八区),会导致我们的时间差了13个点。
打开配置文件,yum安装的默认在/etc文件夹下:/etc/my.cnf
# vi /etc/my.cnf
默认配置如下:
# For advice on how to change settings please see
# http://dev.mysql.com/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 % of total RAM for dedicated server, else %.
# 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 = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links= log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
在[mysqld]下面添加,不需要分号
字符集:注意是utf8而不是utf-8!
character-set-server=utf8
查看mysql字符集
mysql> show variables like 'char%';
默认字符集如下
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
rows in set (0.00 sec)
设置时区为东八区
default-time_zone = '+8:00'
sql支持group by语句
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
附yum安装源:
centos7_mysql5.7.repo
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/x86_64/
enabled=
gpgcheck= [mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/x86_64/
enabled=
gpgcheck= [mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=
gpgcheck=
参考博客:
centos7.4安装MySQL5.7
https://blog.csdn.net/pzl_pzl/article/details/82015144
centos7下使用yum源安装mysql5.7记录
https://www.jianshu.com/p/531cc35b15e7
最新文章
- 【Win10 应用开发】集成语音命令
- HDU 5410 CRB and His Birthday(完全背包变形)
- Oracle自动统计信息的收集原理及实验
- Python进阶07 函数对象
- powermockito “mock public 方法内部 Private方法的问题”
- oracle安装,配置,启动
- HDU 5937 Equation 【DFS+剪枝】 (2016年中国大学生程序设计竞赛(杭州))
- [git] github 使用简单记录
- Square spiral
- [SinGuLaRiTy] 米勒罗宾素数判定法
- css中最基本几个选择器
- Css Secret 案例Demo全套
- 介绍几个好用的android自定义控件
- Android开发之adb无法连接
- matlab安装 macos
- thinkpaidE480office安装文件夹
- Monggodb基础
- C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法
- google map 路线服务
- bootstrap轮播图