Centos7安装mysql8.0
前几天开始学习Linux,在本地虚拟机上安装Centos7操作系统,许多命令都不清楚,一点点学习吧。首先我想在Centos7上安装数据库, 选择了mysql数据库进行安装,整个过程中遇到了不少问题,借鉴了他人写的文章,所幸最后安装成功并解决远程访问。现将大体步骤记录如下:
一、mysql安装
1. 下载mysql安装包
点击mysql官网, 找到要下载的版本将,复制rpm包地址,执行wget命令
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2. 安装mysql
执行命令 rpm -ivh mysql80-community-release-el7-3.noarch.rpm
3. 安装mysql服务器并启动
1 |
|
二、mysql的一些操作
1. 用户登录,修改密码
mysql在第一次安装后会初始化一个随机密码,我们要做的就是修改这个密码,使用grep ‘password’ /var/log/mysqld.log 命令查看初始随机密码(如没有修改,后续部分操作会提示修改密码)。
红色框内的就是随机密码,然后输入 mysql -uroot -p 命令,root用户登录,这时需要输入刚才查看的密码。
这样就表示已经root用户登录成功。
使用以下命令修改密码
1 |
|
这里有个问题,新密码设置的时候如果设置的过于简单会报错, 因为mysql默认安装了密码安全检查插件(validate_password), 可以使用SHOW VARIABLES LIKE ‘validate_password%’; 查看完整的密码规则。默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,我们在设置新密码时也要遵循这个策略。
2. 远程授权访问
数据库在没有授权时,只支持本地访问。
1 |
|
%代表任意远程用户, 可以使用ip写法, 代表只有这个ip可以访问。
这样就允许root用户使用password密码进行远程访问,在navicat上连接即可。
三、mysql8.0远程访问过程中遇到的问题
1. ERROR 1064 (42000)错误
1 |
|
遇到这个问题,是版本升级后,语法不允许这个输入命令。解决方法,新建远程访问用户,再给这个新用户授权。命令如下:
1 |
|
2.navicat连接远程数据库报1251错误
这种情况造成的原因,是因为加密规则的不同,8.0版本以前加密规则是mysql_native_password,8.0之后改为caching_sha2_password。解决方法就是将mysql用户登录密码规则还原成mysql_native_password。
用如下命令查看用户信息,plugin项代表加密方式,并修改为mysql_native_password加密。
1 |
|
这样再使用navicat连接远程数据库即可。
参考:
1. CentOs7成功安装mysql5.7
2. Centos7中 mysql5.7 用户 创建 、授权、远程登录
3. Navicat连接远程数据库报1251的错误
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!