突然发现自己的服务器吃土太久了 搬出来用用Zzzzzz
太久不安装配置Mysql的东西。一来就有问题23333
一、下载Mysql
这里我使用的是yum在线安装的方式,所以先下载mysql的rpm包安装到yum仓库里
https://dev.mysql.com/downloads/repo/yum/
我服务器的系统是centOS 7.3 不新不旧 选linux7就完了。
二、安装Mysql
用刚刚的链接地址
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
如果提示wget:未找到命令
就先安装wget: yum -y install wget 然后再执行上面的命令
yum仓库安装mysql源
yum -y localinstall mysql80-community-release-el7-3.noarch.rpm
三、安装mysql
yum -y install mysql-community-server
拼网速的时候到了zzzz
四、启动mysql
systemctl start mysqld //启动
五、设置开机启动
systemctl enable mysqld
systemctl daemon-reload
六、修改root用户密码
安装完mysql后 先 vim /var/log/mysqld.log
里面有一个自动生成的临时密码。
怕输错就复制下来,注意:这串密码可能带有特殊字符 “ ; ” 我一开始没注意密码总是错233333
接下来输入.
mysql -u root -p
粘贴刚刚复制的临时密码进入。
mysql> alter user 'root'@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)
password是你要修改的密码(这里要注意mysql5.7之后的密码策略默认必须大小写英文字母和数字加特殊字符混合)
七、设置远程登陆
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
老版本的mysql这句sql应该能执行,但新版的不行。比如我的8.0.
新版的mysql需要把创建用户和赋予权限分开。
因此解决方案是:
1. create user ‘root’@’%’ identified by ‘password’; (远程访问主机如果有要求就设置成自己的ip 不然就设置成 %)
2. grant all on *.* to ‘root’@’%’ ; (如果是修改权限后面加(with grant option))
然后执行
mysql>show databases;
mysql>use mysql;
mysql>select user,host from user;
可以看到已经有了 root % 如果没有需要重新执行上面创建用户和赋予权限的操作。
然后 exit
八、配置一下mysql的编码格式
vim /etc/my.cnf
在[mysqld]下面添加下面两行
character_set_server=utf8
init_connect='SET NAMES utf8'
保存后重启mysql
systemctl restart mysqld
九、服务器安全组中打开3306端口。
我们需要开启防火墙的3306端口:
firewall-cmd --zone=public --add-port=3306/tcp —permanent
如果显示 not running. 执行service firewalld start
重新加载: firewall-cmd —reload
成功会显示success
查询一下接口是否已开启: firewall-cmd —query-port=3306/tcp
开启会显示yes
然后是服务器安全组的配置:
基本流程就是这样,如果连接不成功先从服务器的端口是否打开,防火墙是否添加3306端口这些问题找起。
补充:当然不会这么简单,肯定还可能会出问题23333Zzzzzzz
以上安装配置如果mysql8.0之前的那么基本不会出错。但我就喜欢踩雷。
我第一次连接数据库时报Authentication plugin 'caching_sha2_password' cannot be loaded的错误。
这个错误的原因很明了。navicat不支持这个加密规则。
这个问题的解决方案有两个,一种是升级navicat驱动(ps:我的都是navicat premium 15了,还是8行),另一种就是修改mysql的加密规则,这里就选择第二种方式了。
进入 mysql -u root -p 输入密码
修改加密规则:
ALTER USER ‘root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
更新用户密码:
ALTER USER ‘root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
这里如果修改时报密码强度不满足的错时,如果你想使用简单的密码,那就按以下修改
密码强度的规则具体解释
mysql> set global validate_password_mixed_case_count=0;
mysql> set global validate_password_special_char_count=0;
我自己修改了大小写混合还有特殊字符的规则,改成0就是减去了这个规则。
之后就能修改上述不满足密码强度的问题。然后去数据库管理工具测试。
参考:weakup 的centOS 7.3 安装配置mysql