linux环境部署-3-MySQL8的安装和配置
这里笔者采用的rpm安装,相比tar更简单,容易成功。
1.1配置Mysql8.0安装源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
1.2安装MySQL8.0
sudo yum--enable repo=mysql80-community installmysql-community-server
安装步骤:
解析依赖--> 输入第一个【y】同意下载 --> 输入第二个【y】同意安装 --> 至此Mysql8.0安装完成。如下图
1.3编辑MySQL的配置文件
vi /etc/my.cnf
在 [mysqld] 节点下,加入:
lower_case_table_names=1 ##设置不分区大小写
注意,MySQL服务一旦启动建表成功后,就无法再设置表是否区分大小写,如有需求,请提前在此设置好,如无需求,可以忽略此条。
1.4启动MySQL服务
sudo service mysqld start
1.5查看MySQL服务状态
service mysqld status
处于如下图状态,即为启动成功。
1.6查看root用户临时密码
grep "A temporary password"/var/log/mysqld.log
密码如图画线部分所示,复制密码,稍后需要使用此密码。
1.7配置MySQL安全策略
mysql_secure_installation
1.设置新的(Mysql中的)root用户密码(需由大写、小写、数字、符号四种混合组成)
2.配置是否启用密码安全性检查插件,保证密码强度,按需启用。建议【y】
3.选择一种密码强度,0【LOW】是长度八位以上;1【MEDIUM】是长度八位以上,而且由数字、大小写、符号组成;2【STRONG】是长度八位以上,而且由数字、大小写、符号组成,并通过字典文件检测,按需选择。建议【2】
4.系统自动检测root用户的密码强度,如分数过低可以输入【y】进行更改密码,否则输入【n】跳过
5.选择是否删除匿名用户。建议【y】
6.选择是否运行root用户远程连接。建议【n】可根据下文添加另一远程用户
7.选择是否删除测试数据库。建议【y】
8.选择是否刷新privilege表,即是否执行flushprivileges命令。建议【y】。
到此安全策略配置完成。
1.8配置远程访问
1.登录MySQL控制台
mysql -uroot -p
输入root密码即可进入如下界面:
2.创建新的远程用户
CREATE USER '[用户名]'@'%'IDENTIFIED BY '[密码]';
结果如下图所示:
3.授权给远程用户
GRANT ALL ON *.* TO '[用户名]'@'%';
4.使用navicat连接
注意,连接MySQL8需要navicat11.2.7以上,建议使用navicat12.0。
连接时将会出现如下错误:"2059 - authentication plugin 'caching_sha2_password' cannot beloaded: 乱码"
错误原因,Mysql 8.0的新特性,旧版本Navicat不支持。
解决方案:
以旧版的方式重新设置远程用户的密码。
ALTER USER '[用户名]'@'%'IDENTIFIED WITH mysql_native_password BY '[密码]';