Linuxword Global
当前位置: Linux技术 > CentOS7 64位如何单独安装MySQL

普通VPS直接输入命令,谷歌云和甲骨文的云服务器请先输入:sudo -i 进入管理员角色后再操作
一.检查是否应安装了mysql或者mariadb,有的话卸载卸载历史版本MySQL,查看是否拥有历史版本,非首次安装需卸载历史版本MySQL,命令查看是否有安装MySQL历史版本组件:
1.1 检查mariadb
rpm -qa | grep mariadb
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

19c5f13483f3a3f1679a826c7302751f

二、安装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

308699-20191224221130670-1783966834
2.3 启动mysql
启动

systemctl start mysqld

查看运行状态

systemctl status mysqld

停止

systemctl stop mysqld

重启

systemctl restart mysqld

308699-20191224223136058-1222743691
2.4 查看端口运行情况

netstat -nlpt

308699-20191224223655061-154280925

三、查看并修改密码

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

cat /var/log/mysqld.log

308699-20191224223943177-974938698
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;

308699-20191224233758614-795463638

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'@'%';

308699-20191225001509405-207866910
5.6 删除test用户对数据testdb的update权限

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

308699-20191225002154099-323124062

六、修改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

308699-20191224232336523-1729102898

七、修改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

下图是正确的软连接方式:
308699-20191225220438690-743844457

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%";

308699-20191225220807819-398534209

八、常见问题和处理

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
UNDEFINED 复制 全屏

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

308699-20191225221145537-124842356

如果想要远程登录, 则需要进行update更新下root账号的权限

mysql> update mysql.user set host='%' where user="root";
Query OK, 1 row affected (0.10 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> flush privileges;
Query OK, 0 rows affected (0.14 sec)
 
mysql> select host,user,authentication_string from mysql.user;
+-----------+------------------+------------------------------------------------------------------------+
| host      | user             | authentication_string                                                  |
+-----------+------------------+------------------------------------------------------------------------+
| %         | bobo             | $A$005$1VY")q?G6<^X@-6LsXrPt5C0TwlTuvHbaOa3sYF0DKViIGoRPuCF8AzwiFcim1  |
| %         | kevin            | $A$005$hy`U}ZB#R::rA8W0y2rmwgySqzv0rmR1eTeNDSaXfQPWIsrh7ytbVdi85       |
| %         | root             | $A$005$/VO_y^7,]6;2qxggBLmJzhA0Qylu5/AHuRScZ/ykKedgZKh/6krOIzPs2       |
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
+-----------+------------------+------------------------------------------------------------------------+
6 rows in set (0.00 sec)

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

博客简介

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2227 篇
  • 草稿数目: 11 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 5466 个
  • 注册用户: 139 人
  • 访问总量: 8,657,377 次
  • 最近更新: 2024年3月5日