Centos7下安装Mysql8.0

时间:2021-06-16 04:26:54

突然发现mysql都有8.0了,且性能提升比较明显,就自己装来玩玩。

centos的yum源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装;

官网:http://dev.mysql.com/downloads/repo/yum/

#rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

#yum repolist all | grep mysql

mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 24
mysql-connectors-community-source MySQL Connectors Community - Sourc 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 38
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - Source 禁用
mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sourc 禁用
mysql56-community/x86_64 MySQL 5.6 Community Server 禁用
mysql56-community-source MySQL 5.6 Community Server - Sourc 禁用
mysql57-community/x86_64 MySQL 5.7 Community Server 启用: 267
mysql57-community-source MySQL 5.7 Community Server - Sourc 禁用
mysql80-community/x86_64 MySQL 8.0 Community Server 禁用
mysql80-community-source MySQL 8.0 Community Server - Sourc 禁用
这里显示的是5.7的包,我们可以修改源文件,禁用5.7,启用8.0

#/etc/yum.repos.d/mysql-community.repo

把8.0enabled改为1就可以了,其他的版本改为0

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=1
gpgcheck=1
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=1
gpgcheck=1
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=0
gpgcheck=1
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=0
gpgcheck=1
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=0
gpgcheck=1
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=1
gpgcheck=1
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=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
修改完成之后查看可用的版本

#yum repolist enabled | grep mysql

mysql-connectors-community/x86_64 MySQL Connectors Community 24
mysql-tools-community/x86_64 MySQL Tools Community 38
mysql57-community/x86_64 MySQL 8.0 Community Server 146
如果看到8.0版本启用了之后就可以安装MySql了

#yum install -y mysql-community-server  (过程会稍微有些慢,耐心等待)

安装完成之后,就可以启动mysql了

#systemctl start mysqld

查看MySql的启动状态

#systemctl status mysqld

Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-05-11 23:34:51 CST; 11s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 12421 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 12661 (mysqld)
   Status: "SERVER_OPERATING"
   CGroup: /system.slice/mysqld.service
           └─12661 /usr/sbin/mysqld

May 11 23:34:42 VM_0_7_centos systemd[1]: Starting MySQL Server...
May 11 23:34:51 VM_0_7_centos systemd[1]: Started MySQL Server.
开机启动设置

#systemctl enable mysqld
#systemctl daemon-reload

MySql安装完成之后会在LOG文件(/var/log/mysqld.log)中生成一个root的默认密码

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

2018-05-11T15:34:46.440387Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: hqm8r1xXy3<r
登录MySql并修改root密码

#mysql -uroot -p
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'new psd';

#密码强度默认为中等,大小写字母、数字、特殊符号,只有修改成功后才能修改配置再设置更简单的密码

扩展阅读:mysql的密码策略

mysql>show variables like '%validate_password%';

+---------------------------------------+--------+
| Variable_name | Value |
+---------------------------------------+--------+
| validate_password_check_user_name | ON |
| 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 |
+---------------------------------------+--------+
7 rows in set (0.01 sec)
默认的密码策略

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个
修改密码策略
在/etc/my.cnf文件添加validate_password_policy配置:

# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0
或者set global validate_password.policy=0;
修改默认编码
在/etc/my.cnf配置文件的[mysqld]下添加编码配置:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
重启mysql,是修改生效

#systemctl restart mysqld

远程登录用户添加

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

查看用户

mysql> select host,user from mysql.user;

+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)
搞定~

我的系统SELinux默认是disable的,所以就不管了。

vim /etc/selinux/config,把SELINUX改为disable即可。

增加3306端口:vim /etc/sysconfig/iptables添加-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
---------------------
作者:Su_Xingyu
来源:CSDN
原文:https://blog.csdn.net/su_xingyu/article/details/80287740
版权声明:本文为博主原创文章,转载请附上博文链接!