【MySQL】MySQL5.7安装与配置

一、实验环境

操作系统:CentOS 7.x          

MySQL版本:MySQL5.7

IP: 192.168.1.106


二、防火墙、selinux设置

# setenforce 0

# sed -i 's/^SELINUX=.*/SELINUX=permissive/g'   /etc/selinux/config

# firewall-cmd --zone=public--add-port=3306/tcp --permanent 

# firewall-cmd --reload


三、配置YUM源

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

# wget  https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

#  yum  -y install  mysql57-community-release-el7-11.noarch.rpm

# yum repolist enabled  |  grep "mysql.*-community.*"


你可以修改 /etc/yum.repos.d/mysql-community.repo,改变默认安装的mysql版本

需要安装哪个版本,那么设置改仓库为enabled=1,其他设置为enabled=0

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


四、安装MySQL

#  yum  -y install  mysql-community-server  mysql-community-client

MySQL安装包有一定大小,请耐心等待安装

# rpm -qa | grep mysql-community

五、自定义数据目录

MySQL的数据目录默认是/var/lib/mysql ,当然你也可以自定义数据存放目录

# mkdir /opt/data/mysql

# vim  /etc/my.cnf

datadir=/opt/data/mysql


注意:

socket=/var/lib/mysql/mysql.sock 这个配置没有更改的必要

如果你自定义为  socket=/var/lib/mysql/mysql.sock,那么启动后连接数据库时就会报错

如果更改了默认,那么数据库启动后,需要做一个软链接

# ln -s /opt/data/mysql/mysql.sock   /var/lib/mysql/mysql.sock

因为rpm包安装的MysQL客户端默认会去找/var/lib/mysql/mysql.sock,你也可以在MySQL配置文件中加客户端相关字段,然后重启MySQL!


# chown  -R mysql:mysql /opt/data/mysql




六、初始化MySQL

初始化MySQL,可以通过执行 mysqld --initialize 或者 mysqld --initialize-insecure

使用 --initialize 选项,以“安全模式”初始化,会在日志中生成一个随机的root初始密码

使用--initialize-insecure选项,以“非安全模式”初始化,没有root密码生成,你需要及时为MySQL指定一定强度的root密码


方式一、以“安全模式”初始化

# mysqld  --initialize   --datadir=/opt/data/mysql  --user=mysql

#  cat /var/log/mysqld.log | grep "temporary password"

# systemctl start mysqld

# systemctl status mysqld


# mysql -u root -p"*simYaJY=7zH"

首次登录,必须更改随机的root初始密码,且密码强度需满足一定要求,才能执行数据库操作

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '设置的新密码';


# mysql -u root -p"MySQL@123"



方式二、以 “非安全模式”初始化

# mysqld --initialize-insecure  --datadir=/opt/data/mysql --user=mysql

# systemctl start mysqld

# systemctl  status mysqld.service

#  mysql -u root  --skip-password

投入生产前,你需要立刻为MySQL设置一个root密码

交互式设置

# mysql -u root --skip-password

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '设置的新密码';

非交互式设置

# mysql -u root --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '设置的新密码'"

七、参考

The world's most popular open source database 

https://dev.mysql.com

A Quick Guide to Using the MySQL Yum Repository

https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

Installing MySQL on Linux Using the MySQL Yum Repository

https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

你可能感兴趣的:(【MySQL】MySQL5.7安装与配置)