阿里云服务环境搭建系列-1-安装mysql数据库

一、查看服务器状态

1.确保服务器系统最新状态

yum -y update

出现如下即更新成功

Replaced:
  grub2.x86_64 1:2.02-0.86.3.al7.alnx               grub2-tools.x86_64 1:2.02-0.86.3.al7.alnx              

Complete!

2.重启服务器

reboot

3.检查mysql是否已经安装

rpm -qa | grep mysql

如果已经安装的话,那就还看啥呢

没安装的小伙伴可以继续下面的文章哦

4.下载MySql安装包

rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
或者
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

5.安装mysql

yum install -y mysql-server
或者
yum install mysql-community-server

如果显示以下内容说明安装成功

6.设置开机启动mysql

systemctl enable mysqld.service

7.检查是否已经安装了开机自动启动

systemctl list-unit-files | grep mysqld

如果显示以下内容说明已经完成自动启动安装

8.设置开启服务

systemctl start mysqld.service

9.查看MySql默认密码

查看默认密码后,方便我们修改为自己想要的密码

grep 'temporary password' /var/log/mysqld.log

10. 登陆MySql,输入用户名和密码

密码为上一步看到的默认密码

mysql -uroot -p

11.修改当前用户密码

SET PASSWORD = PASSWORD('xxxxxxxxx');

注:直接复制粘贴上边的命令,会出现错误,错误如下:

解决方式如下:

原因:mysql为了安全,有自己的策略要求,如果我们想将其设置为我们常用的root或者123456这样的密码,需要修改策略要求,具体命令如下:

通过设置密码强度来改变,如下方式:

set global validate_password_policy=LOW;

然后再次在mysql命令行下执行

SET PASSWORD = PASSWORD('xxxxxxxxxx');

12.开启远程登录,授权root远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxxxx' WITH GRANT OPTION;

13.命令立即执行生效

flush privileges;

二、远程工具连接

1.使用xshell,putty等工具连接服务器

2.输入mysql -uroot -p 输入密码登录

3.use mysql

4.接下来我们可以查看一下现有用户及连接权限

select User,authentication_string,Host from user

mysql是为了安全考虑所以初始的时候远程是不能访问的,只能本地localhost,127.0.0.1访问。(就相当于远程只能登录mysql这个工具,却不能以某种用户的身份访问里面的数据(我们平时做项目都是以root用户的身份访问指定数据库数据))

5.下面我们就再添加一个root用户,密码暂时为空,允许任意Ip访问’%’

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用户的密码' WITH GRANT OPTION;

6.刷新

flush privileges;

7.阿里云配置实例安全组

通过navicat工具连接,即可连接成功。

mysql区分大小写问题

lower_case_table_names,该参数为静态,可设置为0、1、2。

0 --大小写敏感。(Unix,Linux默认) 创建的库表将原样保存在磁盘上。如create database TeSt;将会创建一个TeSt的目录,create table AbCCC …将会原样生成AbCCC.frm。 SQL语句也会原样解析。

1 --大小写不敏感。(Windows默认) 创建的库表时,MySQL将所有的库表名转换成小写存储在磁盘上。 SQL语句同样会将库表名转换成小写。 如需要查询以前创建的Testtable(生成Testtable.frm文件),即便执行select * from Testtable,也会被转换成select * from testtable,致使报错表不存在。

2 --大小写不敏感(OS X默认) 创建的库表将原样保存在磁盘上。 但SQL语句将库表名转换成小写。

On Windows the default value is 1. On macOS, the default value is 2. On Linux, a value of 2 is not supported; the server forces the value to 0 instead.

在Windows上,默认值为1。在macOS上,默认值为2。在Linux上不支持值2;服务器强制该值为0。

并且官网也提示说:如果在数据目录驻留在不区分大小写的文件系统(例如Windows或macOS)上的系统上运行MySQL,则不应将lowercasetable_names设置为0。

如果windos中把lower_case_table_names设置为0,Mysql的服务会一直启动报错

注意事项

修改lowercasetable_names导致的常见不良隐患: 如果在lower_case_table_names=0时,创建了含有大写字母的库表,改为lower_case_table_names=1后,则会无法被查到。
 

解决mysql区分大小写问题:修改lower_case_table_names参数

由于某些情况,程序中数据表名大小写,在程序运行中就可能出现数据表不存在的问题,所以综合上边提到的注意事项,决定是否修改该参数

1、进入my.cnf文件

vi /etc/my.cnf;

2、进入后是无法编辑的 需要按一下 i 进入编辑

 然后就和Windows操作一样了,在  [mysqld]  下加上   lower_case_table_names=1(如下图)

退出保存按下【ESC】--->按下【:】---->输入【wq】 回车即可

3、重启mysql服务

service mysqld restart;

4、成功解决mysql区分大小写问题

mysql允许所有ip访问

进入MySQL

use mysql
执行以下语句

update user set host='%' where user ='root';
 

FLUSH PRIVILEGES;
 

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值