环境
- 系统版本:centos7
- 数据库版本:MySQL8.0
- 链接工具:Finalshell或者xshell
总结一些常用命令:
1.查看内核版本命令
cat /proc/version
uname -a
uname -r
2.查看内存情况
- cat /proc/cpuinfo 查看linux系统的CPU型号、类型以及大小
- cat /proc/meminfo 查看linux系统内存大小的详细信息,可以查看总内存,剩余内存、可使用内存等信息
- df -h 查看linux系统各分区的使用情况
- free -m 查看linux系统内存使用量和交换区使用量
进入正题
一、下载MySQL安装包
在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/
本次下载目录为:/home/目录,因此进入:cd /home
执行下载命令:
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
二、安装MySQL源
yum localinstall mysql80-community-release-el7-1.noarch.rpm
三、检查是否成功
yum repolist enabled | grep "mysql.*-community.*"
成功截图:
四、安装MySQL服务端
yum install mysql-community-server
成功截图:
五、启动MySQL服务
systemctl start mysqld
或者
service mysqld start
六、查看启动状态
systemctl status mysqld
或者
service mysqld status
七、设置开机启动
systemctl enable mysqld
systemctl daemon-reload
八、修改登录密码
MySQL8.0安装成功后会在/var/log/mysqld.log文件中给root生成了一个默认密码,通过下面命令先找到临时密码,然后进行修改
grep 'temporary password' /var/log/mysqld.log
然后登陆MySQL8.0注意一定要区分大小写!!!
mysql -uroot -p
截图如下:
进来之后进行密码的修改:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@1234';
【注意】:密码一定要包含大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。
九、添加远程登录用户
如果我们想其他的服务器也可以连接到我们的服务器中的数据库,我们就需要允许我们的root远程连接或者说自己创建一个用户让他可以远程连接
首先我们使用 use mysql;
切换到mysql数据库,然后在执行下面命令查看当前root用户的相关信息
select host, user from user;
之后就需要授权用户的所有权限
GRANT ALL ON *.* TO 'root'@'%';
这里注意如果报错的话【ERROR 1410 (42000): You are not allowed to create a user with GRANT】,可以使用以下命令
update user set host='%' where user ='root';
然后需要命令刷新,使其生效
flush privileges;
如果使用Navicat连接不上的话,可能是由于防火墙的原因导致3306端口没有开放。
首先先测试是否开放:
# 在虚拟机中找到ip地址
ifconfig
然后在你的本地电脑上尝试去一下
如果出现找不到telnet命令,那么你就需要进行以下操作
将上面这两个打开就好了!!
接下来我们解决防火墙的问题
1、查看 firewalld 状态
systemctl status firewalld
2、开启 firewalld
systemctl start firewalld
3、开放端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
4、重新载入
firewall-cmd --reload
然后你就会发现OK搞定
十、8.0必须注意的一点
完成上面的配置使用sqlyog链接时会出现2058的异常,此时我们需要修改mysql,命令行登录mysql(与修改密码中登录相同,使用修改后的密码),然后执行下面的命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
其中password为自己修改的密码。然后SQLyog中重新连接,则可连接成功,OK。
如果报错:ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@'localhost’则使用下面命令:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
十一、修改默认编码方式
mysql8.0默认编码方式为utf8mb4,因此使用时不需要修改,可使用如下命令查看:
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
如果要修改编码需要修改mysql配置文件my.cnf(windows为my.ini)
my.cnf一般在etc/mysql/my.cnf位置
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
之后重启mysql就可以了。