centos 7默认安装的是mariadb,不再支持mysql的默认安装。mariadb属于mysql的一个分支,详细区别自己可以去查下。
习惯使用mysql的,可以按照以下方法在centos 7上安装MySQL
1、下载mysql Yum Repository,增加Yum源
下载并安装: wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm
2、检查是否成功添加MySQL Yum Repository
# yum repolist enabled | grep "mysql.*-community.*" mysql-connectors-community/x86_64 MySQL Connectors Community 30 mysql-tools-community/x86_64 MySQL Tools Community 43 mysql56-community/x86_64 MySQL 5.6 Community Server 306 执行命令看到上边三行内容说明添加成功
3、查看支持的MySQL版本,以及默认启用的版本
# yum repolist all | grep mysql mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 30 mysql-connectors-community-source MySQL Connectors Community - So disabled mysql-tools-community/x86_64 MySQL Tools Community enabled: 43 mysql-tools-community-source MySQL Tools Community - Source disabled mysql55-community/x86_64 MySQL 5.5 Community Server disabled mysql55-community-source MySQL 5.5 Community Server - So disabled mysql56-community/x86_64 MySQL 5.6 Community Server enabled: 306 mysql56-community-source MySQL 5.6 Community Server - So disabled mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Deve disabled mysql57-community-dmr-source MySQL 5.7 Community Server Deve disabled 支持三个版本,默认启用稳定版mysql56,mysql55和mysql57是禁用状态的
4、修改MySQL启用版本:
通过查看支持MySQL版本发现MySQL 5.5和MySQL 5.7是禁用状态,如果想使用5.5或者5.7需要修改下MySQL 5.5和MySQL 5.7的启用状态。
可以用yum-config-manager这个命令来修改启用禁用状态,或者直接修改/etc/yum.repos.d/mysql-community.repo文件中对应版本的enabled值
直接修改文件如下: [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-config-manager命令修改: 系统默认没有安装yum-config-manager,先查找下是哪个包提供这个工具: # yum provides */yum-config-manager ....... yum-utils-1.1.31-40.el7.noarch : Utilities based around the yum package manager Repo : base Matched from: Filename : /usr/bin/yum-config-manager 安装yum-utils这个工具即可。 yum install -y yum-utils 接下来用yum-config-manager修改: # yum-config-manager --enable mysql57-community-dmr # yum-config-manager --disable mysql56-community 再查看MySQL的启用和禁用版本状态如下,跟上边对比已经变过来了 # yum repolist all | grep mysql mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 30 mysql-connectors-community-source MySQL Connectors Community - So disabled mysql-tools-community/x86_64 MySQL Tools Community enabled: 43 mysql-tools-community-source MySQL Tools Community - Source disabled mysql55-community/x86_64 MySQL 5.5 Community Server disabled mysql55-community-source MySQL 5.5 Community Server - So disabled mysql56-community/x86_64 MySQL 5.6 Community Server disabled mysql56-community-source MySQL 5.6 Community Server - So disabled mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Deve enabled: 166 mysql57-community-dmr-source MySQL 5.7 Community Server Deve disabled
5、安装mysql
安装mysql,由于刚才调整过,默认安装的是MySQL 5.7 yum install mysql-community-server 启动MySQL服务: # systemctl start mysqld.service 查看MySQL启动状态: # 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 2017-02-24 23:10:40 CST; 2min 15s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 59828 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 59755 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 59831 (mysqld) CGroup: /system.slice/mysqld.service └─59831 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid Feb 24 23:10:34 localhost.localdomain systemd[1]: Starting MySQL Server... Feb 24 23:10:40 localhost.localdomain systemd[1]: Started MySQL Server.
6、登录MySQL数据库
安装好以后会默认生成一个随机root密码,记录在日志中的,直接查看就行:
# grep 'temporary password' /var/log/mysqld.log 2017-02-24T15:10:35.845146Z 1 [Note] A temporary password is generated for root@localhost: y28nghW#%/!G
找到密码登录以后可以修改root密码:
# mysql -u root -p mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; 密码必须满足以下条件:至少包含一个大写字母、一个小写字母、一个数字、一个特殊字符,不少于8个字符。
7、进行一下简单的初始化安全设置:
# mysql_secure_installation 1、输入root密码,需要更改了此处可以更改 2、移除匿名用户 3、不允许root用户远程登录 4、移除test数据库 5、重新加载配置
8、关于密码复杂性,如果想关闭可以按照以下步骤操作:
此处用的MySQL 5.7,可以参考官方文档对于这点的说明:
https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html
查看所有密码策略: mysql> show variables like 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | 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 | +--------------------------------------+--------+ 7 rows in set (0.00 sec) 各项注释: validate_password_check_user_name:用户名和密码的一个验证,默认关闭 validate_password_dictionary_file:指定密码验证文件路径 validate_password_length:限制密码长度 validate_password_mixed_case_count:限制必须至少包含小写和大写字母个数 validate_password_number_count:限制包含数字的个数 validate_password_policy:限定密码强度等级。 密码等级如下: 0/LOW:只检查长度 1/MEDIUM:检查长度、数字、大小写、特殊字符 2/STRONG:检查长度、数字、大小写、特殊字符、字典文件 validate_password_special_char_count:限制至少包含特殊字符个数 修改密码策略: mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec) mysql> set global validate_password_length=10; Query OK, 0 rows affected (0.00 sec) 此时重新查看密码策略已经改变了。