Mysql集群-----(03) Centos7 安装Mysql(使用yum方式)

Centos7 安装Mysql5.7 使用yum 方式安装方便Mysql及时更新

Mysql官方安装教程

1. 下载mysql yum库

最新版本地址: http://dev.mysql.com/downloads/repo/yum/

注意:
1. Centos5 对应 Red Hat Enterprise Linux 5
2. Centos6 对应Red Hat Enterprise Linux 6
3. Centos7 对应Red Hat Enterprise Linux 7

# 如果没有wget 可以安装 yum install wget
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

2. 安装 Mysql yum 库

yum localinstall mysql-community-release-el7-{version-number}.noarch.rpm

3. 更新yum

yum update

这次应该能看到mysql安装

4. 查看当前启动的mysql版本

yum repolist all | grep mysql

可以看到当前启用MySQL版本,默认启用最高版本Mysql,可手动启用其他版本
image

5. 安装Mysql数据库

 yum install mysql-community-server

会看到正在下载Mysql数据库
image

6. 启动Mysql数据库

systemctl start mysqld.service

查看Mysql服务启动情况

systemctl status mysqld.service

注意: 启动出错: Can’t change data directory owner to mysql
由于安全限制需要将防火墙关闭 setenforce 0

7. 修改Root密码

1. 查看root临时密码

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

2. 使用临时密码登录Mysql

mysql -uroot -p

3. 修改root密码

a. 自定义密码安全策略:validate_password_policy (修改该值即可)
  • 取值有3中:
    • 0 or LOW : 长度,至少8位
    • 1 or MEDIUM : 符合长度,且必须含有数字,小写或大写字母,特殊字符。
    • 2 or STRONG : 符合长度,且必须含有数字,小写或大写字母,特殊字符。字典文件

测试环境密码不需要那么复杂,设置级别为0即可

mysql> set global validate_password_policy=0;
b. 查看密码长度(需要修改密码之后才能执行):
mysql> SHOW VARIABLES LIKE 'validate_password%';
# 修改密码长度为6,默认为8
mysql> set global validate_password_length=6;
c. 修改Root密码:
# 修改root密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

详细权限配置参考: https://www.cnblogs.com/candle806/p/4048651.html

注意: 如果忘记初始密码可以在mysql日志文件中查找 /var/log/mysqld.log

8. Mysql数据库目录迁移(可选)

  1. 对于首次启动Mysql,修改my.cnf 之后可以使用如下命令,初始化目录
mysql_install_db --user=mysql \
         --basedir=/opt/mysql/mysql \
         --datadir=/opt/mysql/mysql/data

详细说明参考:https://dev.mysql.com/doc/refman/5.6/en/mysql-install-db.html

另外一种使用mysqld 初始化数据目录
详细说明参考:https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html

问题:

如果目录权限正确,但是不能启动MySQL,可能跟SeLinux有关,修改seLinux指定目录权限即可

chcon -R -t mysqld_db_t  dir

临时关闭防火墙:

setenforce 0 

永久关闭防火墙:

# 将SELINUX=enforcing改为SELINUX=disabled
vim /etc/selinux/config

9. Mysql用户授权

1. 创建用户

mysql > CREATE USER 'username'@'%' IDENTIFIED BY 'password';

2. 给用户授予数据库操作权限:

# % 为全部Ip, 数据库名.标名 可以使用 * 代替,表示所有库中所有表
mysql > grant all privileges on database_name.table_name to  'username'@'host';

3. 取消用户数据库操作权限

mysql> revoke all on dingshops.*  from 'test'@'%';

4. 查看用户数据库操作权限:

mysql> show grants for   'test'@'%';

5. 更改用户密码

mysql> SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

6. 刷新使权限生效:

mysql>flush privileges;

猜你喜欢

转载自blog.csdn.net/afgasdg/article/details/79789108