CentOS部署MySQL
阅读原文时间:2023年07月08日阅读:2

Linux上安装MySQL

[root@chenstudy ~]# yum -y update

  • 我之前安装过MySQL,现在已经卸载了

[root@chenstudy ~]# rpm -qa | grep mysql

  • 如果你系统有安装,那可以选择进行卸载:

rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

  • 也可以使用以下方式删除

rpm -qa | grep mysql
yum remove mysql-community-libs-8.0.30-1.el7.x86_64
yum remove mysql-community-client-plugins-8.0.30-1.el7.x86_64
yum remove mysql-community-server-8.0.30-1.el7.x86_64

接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL:

  • 我们把MySQL安装在/usr/local/mysql目录下

[root@chenstudy ~]# cd /usr/local
[root@chenstudy local]# mikdir mysql
[root@chenstudy local]# cd mysql/
[root@chenstudy mysql]# ls

  • 下载YUM资源包

[root@chenstudy mysql]# wget http://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm

[root@chenstudy mysql]# rpm -ivh mysql80-community-release-el7-7.noarch.rpm

[root@chenstudy mysql]# yum update

[root@chenstudy mysql]# yum install mysql-server

4.1、权限设置:

[root@chenstudy mysql]# chown -R mysql:mysql /var/lib/mysql

4.2、初始化MySQL

[root@chenstudy mysql]# mysqld --initialize

4.3、启动MySQL

  • 启动时报错:Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

  • 执行以下语句:

[root@chenstudy mysql]# chown mysql:mysql -R /var/lib/mysql

4.4、查看MySQL运行状态

[root@chenstudy mysql]# systemctl status mysqld

4.5、设置MySQL开机自启动

[root@chenstudy mysql]# systemctl enable mysqld

注意:\如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。

此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

yum install mariadb-server mariadb

mariadb数据库的相关命令是:

systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动

在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。

使用 mysqladmin 工具来获取服务器状态:

使用 mysqladmin 命令来检查服务器的版本, 在 linux 上该二进制文件位于 /usr/bin 目录,在 Windows 上该二进制文件位于C:\mysql\bin 。

[root@chenstudy mysql]# clear
[root@chenstudy mysql]# mysqladmin --version
mysqladmin Ver 8.0.30 for Linux on x86_64 (MySQL Community Server - GPL)

  • 查看MySQL安装后的默认密码

[root@chenstudy mysql]# cd /var/log/
[root@chenstudy log]# ls
[root@chenstudy log]# cat mysqld.log

  • 登录MySQL

[root@chenstudy log]# mysql -uroot -p
Enter password: 刚查到的密码

  • 修改密码

mysql> alter user root@localhost identified by '密码';
Query OK, 0 rows affected (0.02 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
[root@chenstudy log]# mysql -uroot -p
Enter password:‘新密码’

解释:不要以为阿里云服务器可以远程登录root用户,就以为我们也可以以mysql的root用户身份远程登录mysql数据库

mysql> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

# 查看用户表权限
select host,user from user;

#运行下面两句话之后就可以通过root账户远程登陆。
update user set host='%' where user='root';

#命令立即执行生效(千万不要忘记刷新!!!!!)
#这句表示从mysql数据库的grant表中重新加载权限数据
flush privileges;

  • 查看阿里云安全组是否开放了3306端口(没有的可以配置下)

  • 最后在Navicat上面链接下