centos 7 安装 mysql_centos 7 安装 mysql 8.0.18

一、检查是否应安装了mysql或者mariadb,有的话卸载

1.1 检查mariadb

rpm -qa | grep mariadb

d28af92749e259ecfb94a7e088506d27.png

1.2 删除mariadb

yum -y remove mariadb*

1.3 检查mysql

rpm -qa | grep mysql

1.4 删除mysql

yum -y remove mysql*

1.5 删除旧的配置文件

rm -rf /etc/my.cnf

1.6 删除文件

rm -rf /var/lib/mysql

二、安装mysql

2.1 配置安装源

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.2 安装

sudo yum --enablerepo=mysql80-community install mysql-community-server

7c0a5e131a5ca2707b4c468e9a5b6d17.png

2.3 启动mysql

启动

systemctl start mysqld

查看运行状态

systemctl status mysqld

停止

systemctl stop mysqld

重启

systemctl restart mysqld

907269d36071d773cd472fd1e1f6c051.png

2.4 查看端口运行情况

netstat -nlpt

95245a8c6182cd68c628d51df5866ab3.png

三、查看并修改密码

3.1 mysql安装后会生成一个默认密码,此密码登录后要修改密码,不能用于其他操作

cat /var/log/mysqld.log

1fc938d9e045083901d28cd7fbb792db.png

3.2 登录root账号修改初始密码,复制上面的密码登录

mysql -u root -p

修改密码,注意密码要稍微复杂点(大小写+符号+数字),不然会提示 Your password does not satisfy the current policy requirements

ALTER USER USER() IDENTIFIED BY 'Xinmima@2020';

四、配置远程访问

4.1 查下系统用户,root默认是不允许远程访问的,需要把下图root账户的localhost改成%

use mysql;

select user,host,plugin,authentication_string from mysql.user;

select user,host,plugin from mysql.user;

959069d06c1022facfb60ff3fd2bb937.png

4.2 修改root的权限并刷新权限

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

flush privileges;

五、新建mysql账号 + 授权

5.1 新建test账号,%表示允许远程登录 ,改成ip就是ip登录

create user 'test'@'%' identified by 'Xinmima@2020';

下面是是授权部分:

5.2 给test用户授予testdb数据库的所有权限(可远程登陆)

grant all privileges on testdb.* to 'test'@'%';

flush privileges;

5.3 给test用户授予testdb数据库的查询权限(可远程登陆)

grant select on testdb.* to 'test'@'%';

flush privileges;

5.4 给test用户授予testdb数据库的insert,delete,update权限(可远程登陆)

grant insert,delete,update on testdb.* to 'test'@'%';

flush privileges;

5.5 查看用户的权限

show grants for 'test'@'%';

55b9305ed2f4f6d08e8b33249fd02452.png

5.6 删除test用户对数据testdb的update权限

revoke update on testdb.* from 'test'@'%';

flush privileges;

9d71a287bfe43f07f832cabd1e2f58a1.png

六、修改mysql端口

6.1 编辑my.cnf

vi /etc/my.cnf

6.2 默认配置不含port行需自行添加,按esc退出INSERT模式 :wq 保存

port=6666

6.3 重启mysql并查看端口状态 注意:如果是云服务器(如阿里云),一定要检查安全组是否开启相应的端口,不然客户端连不上

systemctl restart mysqld

netstat -nlpt

345b0f6ad0ecc47c505fe2751cc838f3.png

七、修改mysql的数据、日志存放路径

7.1 先停止msyql

systemctl stop mysqld

7.2 先创建好要存储的位置

mkdir -p /data/mysql

cd /data/mysql

7.3 把文件移到/data/mysql/文件夹下,cp -a参数是权限也一起复制,然后删除原文件夹

cp -a /var/lib/mysql /data/

rm -rf /var/lib/mysql

7.4 修改软连接

ln -s /data/mysql /var/lib/

7.5 查看软连接

ls -la /var/lib/mysql

下图是正确的软连接方式:

0247a5a7747f8161059698a7ad39e562.png

7.6 修改my.cnf配置文件

vim /etc/my.cnf

属性

原值

修改为

datadir

/var/lib/mysql

/data/mysql

socket

/var/lib/mysql/mysql.sock

/data/mysql/mysql.sock

datadir=/data/mysql

socket=/data/mysql/mysql.sock

7.7 启动mysql并查看状态

systemctl start mysqld

7.8 登录mysql,查看数据文件

mysql -u root -p

show global variables like "%datadir%";

29f7963e5be136505ce47d7600f00a6a.png

八、常见问题和处理

8.1 如果客户端连接报错"Authentication plugin 'caching_sha2_password' cannot be loaded",是以为mysql 8的加密方式改了。有两种选择 1、升级客户端 2、把加密方式改为传统的方式

推荐用新的加密方式(一般升级客户端就可以了),老项目代码的话可能有老的jar包等不支持新加密,下面是改为传统加密方式

ALTER mysql.USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Xinmima@2020';

8.2 查找mysql的安装路径

whereis mysql

mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/man/man1/mysql.1.gz

8.3 创建数据库,字符集有两种

方式

字符集

排序规则

不支持emoji

utf8

utf8_general_ci

支持emoji

utf8mb4

utf8mb4_general_ci

8.4 查看mysql版本

mysql -V

3a99cda513bdc628bf03b37d72cd4375.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值