centos7配置yum源安装mysql

mysql官方指导页面


点击添加MySQL的yum源的链接,跳转到下载yum源的rpm包界面,下载第一个redhat7的rpm包

通过浏览器获取下载链接,在linux下用wget下载

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

下载后当前目录有一个rpm包,安装

 rpm -ivh mysql80-community-release-el7-1.noarch.rpm 
安装后/etc/yum.repos.d/目录下多了两个文件
mysql-community.repo  
mysql-community-resource.repo

清理yum的缓存,重新建立缓存

yum clean all
yum makecache

我们要安装的是mysql5.7而不是8.0,所以需要屏蔽8.0,否则通过yum安装时会自动安装最新版

[root@node32 ~]# yum-config-manager --disable mysql80-community
Loaded plugins: langpacks
[root@node32 ~]# yum-config-manager --enable mysql57-community
Loaded plugins: langpacks
============================= repo: mysql57-community ==============================
[mysql57-community]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/mysql57-community
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage = 
enabled = True
enablegroups = True
exclude = 
failovermethod = priority
ftp_disable_epsv = False
gpgcadir = /var/lib/yum/repos/x86_64/7Server/mysql57-community/gpgcadir
gpgcakey = 
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7Server/mysql57-community/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
hdrdir = /var/cache/yum/x86_64/7Server/mysql57-community/headers
http_caching = all
includepkgs = 
ip_resolve = 
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid = 
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink = 
minrate = 0
mirrorlist = 
mirrorlist_expire = 86400
name = MySQL 5.7 Community Server
old_base_cache_dir = 
password = 
persistdir = /var/lib/yum/repos/x86_64/7Server/mysql57-community
pkgdir = /var/cache/yum/x86_64/7Server/mysql57-community/packages
proxy = False
proxy_dict = 
proxy_password = 
proxy_username = 
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert = 
sslclientcert = 
sslclientkey = 
sslverify = True
throttle = 0
timeout = 30.0
ui_id = mysql57-community/x86_64
ui_repoid_vars = releasever,
   basearch
username = 

[root@node32 ~]# 

除了使用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

手工编辑mysql的yum源码请参照官方文档

安装

sudo yum install mysql-community-server
启动
    
[root@node32 ~]# service mysqld start

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

  • 服务器已初始化。
  • 在数据目录中生成SSL证书和密钥文件。
  • 该validate_password插件安装并启用。
  • 超级用户帐户'root'@'localhost' 已创建。超级用户的密码被设置并存储在错误日志文件中。要显示它,请使用以下命令:
[root@node32 ~]# sudo grep 'temporary password' /var/log/mysqld.log
2018-05-25T13:39:29.905881Z 1 [Note] A temporary password is generated for root@localhost: t1pewBQG/JSY
[root@node32 ~]# 
[root@node32 ~]# mysql -uroot -pt1pewBQG/JSY
修改密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
flush all privileges;
在修改密码时,密码不符合复杂性规则会报错, ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    修改密码 —— 先对临时密码进行修改,得复杂(因为策略还没有改),如
        alter user 'root'@'localhost' identified by 'abcdefg#2017*MySQL';

    然后再修改想要的密码策略

        show variables like '%password%';

        set global validate_password_policy=0;

        set global validate_password_length=4;

        修改成简单密码


              alter user 'root'@'localhost' identified by 'mysqlpassword';
  1. 程序mysql_secure_installation 允许您执行重要的操作,例如设置root密码,删除匿名用户等等。总是运行它来保护你的MySQL 5.6安装:

    shell> mysql_secure_installation
    

    记住您设置的根密码很重要。有关详细信息,请参见 mysql_secure_installation - 改进MySQL安装安全性

    安装MySQL 5.7或更高版本后,请 不要运行mysql_secure_installation,因为程序的功能已由Yum存储库安装执行。

如果忘记了root的密码无法登陆mysql:

    关闭mysql

service mysqld stop

    打开 /etc/my.cnf文件

    在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。

启动

service mysqld restart

此时可以跳过认证直接进入mysql

mysql

参考文章:https://blog.csdn.net/qq_35900437/article/details/52979179

update user set authentication_string=password('123abc') where user='root';
flush all privileges;

授予主机访问权限:

grant all pirvileges on *.* to 'root'@'localhost' identified by 'mysqlpassword';
flush all privileges;

退出mysql,关闭mysql,将/etc/my.ini中加入的skip-grant-tables 删除并重新启动即可。

猜你喜欢

转载自blog.csdn.net/matengbing/article/details/80457581