Centos7 安装 Mysql 8.0.32,详细完整教程
一、检查mysql版本冲突
先检查是否已经存在mysql,若存在卸载,避免安装时产生一些错误!
rpm -qa | grep -i mysql
二、下载安装(两种方式)
方式一(在线)
>> yum方式:
略。
方式二(离线)
>> 官方网站下载:
实际地址:
1
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
解压:
tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
安装:
sudo rpm -ivh mysql*.rpm --nodeps --force
三、启动
启动MySQL:
systemctl start mysqld
检查是否启动成功:
systemctl status mysqld
四、修改密码
获取临时密码:
grep 'temporary password' /var/log/mysqld.log
MySQL会为root用户随机生成了一个密码(如果安装多次,则会有多个,取最新的那个密码)
通过临时密码登录MySQL,修改密码:
mysql -uroot -p
使用临时密码登录后,不能进行其他的操作,否则会报错,这时候我们进行修改密码操作
因为MySQL的密码规则需要很复杂,我们一般自己设置的不会设置成这样,所以我们全局修改一下:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
这时候我们就可以自己设置想要的密码了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';
五、授权远程登录(其他机器)
MySQL8.0开始需要使用两句话,否则报错:
这一行命令来设置用户权限,必须分两步来实现设置用户权限【①先创建用户②再对该用户分配用户权限】,最后刷新权限
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
而,MySQL8.0之前使用一句话即可:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
六、其他配置
开启开机自启动
先退出mysql命令行,然后输入以下命令
systemctl enable mysqld
systemctl daemon-reload
字符集
在MySQL 8.0之前,默认字符集为latin1 ,utf8字符集指向的是utf8mb3 。如果遗忘修改默认的编码,就会出现乱码的问题。
从MySQL8MySQL 8.0开始,数据库的默认编码将改为utf8mb4 ,从而避免上述乱码的问题。所以不需要更改MySQL的字符集设置。
使用以下命令可以查看MySQL的默认字符集:
show variables like 'character%';
# 或者
show variables like '%char%';
所以不需要修改 /etc/my.cnf 。(当然如果修改my.cnf则需要重启mysql才能生效,systemctl restart mysqld)
防火墙端口
firewall-cmd --state
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all
七、补充
卸载MySQL仓库(只有开始用yum方式安装的,才需要卸载)
一开始的时候我们安装的yum,每次yum操作都会更新一次,耗费时间,我们把他卸载掉
rpm -qa | grep mysql
yum -y remove mysql57-community-release-el7-10.noarch