【环境部署】华为云ECS安装MySQL

一、【CentOS MySQL安装】rpm安装集合包

1. MySQL下载

打开MySQL官网,选择需要的版本。【注意】:请按照图中说明,通过新打开一个画面的方式进行下载,这样可以避免登录或注册。本人下载的是集合包版本No thanks, just start my download.

2. MySQL上传

在自己的CentOS服务器上,创建软件目录/home/softwares/

mkdir /home/softwares

使用XFtp将刚才下载的rpm安装文件上传到CentOS服务器

3.MySQL解压

解压缩刚才上传的安装包

tar -vxf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar 

解压结果如下图

4. MySQL环境确认

CentOS 7会自带一个免费的数据库:mariadb,我们需要卸载掉,防止它的驱动和MySQL的驱动冲突。

首先用rpm命令查看一下是否有mariadb,如果有相应的内容,需要用rpm命令删除这个版本的mariadb,删除结果如下:

rpm -qa | grep -i mariadb

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

MySQL的Server端需要perl语言的支持,执行如下命令安装

yum install perl -y

5. MySQL安装

使用rpm命令按照如下顺序进行安装

rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm --force
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm --force
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm --force
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm --force

安装结果如下图

使用rpm方式安装MySQL后相关路径如下:

数据库目录
/var/lib/mysql/
配置文件
/usr/share/mysql``(mysql.server命令及配置文件)
/etc/my``.cnf
相关命令
/usr/bin``(mysqladmin mysqldump等命令)
启动脚本
/etc/rc``.d``/init``.d/(启动脚本文件mysql的目录)

6. MySQL初始化

使用如下命令进行MySQL的初始化,执行生会在/var/log/mysqld.log生成随机密码。【注意】: 如果是以mysql身份运行,则可以去掉--user选项。

mysqld --initialize --user=mysql --datadir=/var/lib/mysql

变更MySQL的数据库目录的所属用户及其所属组

chown mysql:mysql /var/lib/mysql -R

启动MySQL的数据库服务

systemctl start mysqld.service

使用root登录MySQL数据库并更改密码。【注意】:密码位置在/var/log/mysqld.log

mysql -uroot -p'#6yhJzFEhk1j'

在MySQL中变更密码并刷新

mysql> set password=password('haojt@123');
Query OK, 0 rows affected, 1 warning (0.00 sec)
​
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
​
mysql> quit

7. MySQL访问权限设定

赋予远程访问权限

mysql> grant all privileges on *.* to 'root' @'%' identified by 'Haojt@123';
mysql> flush privileges;
mysql> 

华为云服务器安全组中添加过滤规则(如果是物理机,请开启机器本身的防火墙)

8. 使用客户端访问

如上完成了集合包安装配置到客户端连接的过程,可以正式进行各自项目的业务开发。

二、【CentOS MySQL安装】yum仓库

1. MySQL下载

打开MySQL官网,仍然是新打开一个画面的方式进行下载,本次选择最新的MySQL8.0。下载版本No thanks, just start my download. 可以直接下载后上传到CentOS服务器,或者在服务器上直接使用wget下载。(MySQL5.7 https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

使用wget直接从上面获得的地址下载文件

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

2. 安装yum源

使用yum进行MySQL的安装

yum localinstall mysql80-community-release-el7-1.noarch.rpm 

3. MySQL安装

使用yum安装MySQL,安装截图如下

yum install -y mysql-community-server

设置服务器开机时同时启动MySQL服务

systemctl enable mysqld.service

启动已经安装的MySQL服务

systemctl start mysqld.service

4. MySQL访问

MySQL从5.7不允许首次安装后使用空密码进行登录!系统会随机生成的密码保存在/var/log/mysqld.log文件中。本次我们使用下面的命令来查看密码。

cat /var/log/mysqld.log|grep 'A temporary password'
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: EO?Su_!Ue0bZ

使用root登录MySQL数据库并更改密码。

mysql -uroot -p'EO?Su_!Ue0bZ'

在MySQL中变更密码

mysql> alter user 'root'@'localhost' identified by 'Haojt@123';
Query OK, 0 rows affected, 1 warning (0.00 sec)
​
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
​
mysql> quit
​

5. MySQL访问权限设定

赋予远程访问权限,MySQL8.0的赋权和5.7有很大区别,直接使用grant命令给root用户赋权会出现各种问题,上网查了不少资料,按照如下方法,赋权成功。需要新创建一个MySQL用户,让后给新建的用户进行赋权。

mysql> 
mysql> create user 'mysql'@'%' identified by 'Haojt@123';
Query OK, 0 rows affected (0.09 sec)
​
mysql> grant all privileges on *.* to 'mysql'@'%' with grant option;
Query OK, 0 rows affected (0.03 sec)
​
mysql> 

华为云服务器安全组中添加过滤规则(如果是物理机,请开启机器本身的防火墙,详细参考上面)

6. 使用客户端访问

后记:MySQL关联阅读

1. MySQL参考

https://www.runoob.com/mysql/mysql-install.html

2. 安装文件命名

后缀中el6/el7代表Linux的版本是6.X或者是7.X,另外操作系统32位(i686)还是64位(x86_64)通过后缀来判断一下。这两个点需要注意,网上大部分文章中的安装说明直接给定了下载源,指定了一个固定的版本,但是没有提示对应的操作系统的版本,结果导致安装过程中出现各种问题。本人最初安装时也没有注意,导致折腾了一天,安装卸载无数次。最后才发现问题所在。

  • mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar Linux7 64位
  • mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar Linux6 64位
  • mysql-5.7.23-1.el7.i686.rpm-bundle.tar Linux7 32位

3. MySQL常用命令

MySQL数据库使用过程中的日常命令,记录一下方便日后查询。

1.更改root密码
mysqladmin -uroot password 'yourpassword'
2.远程登陆mysql服务器
mysql -uroot -p -h192.168.137.10 -P3306
3.查询数据库
show databases;
4.进入某个数据库
use databasename;
5.列出数据库中的表
show tables;
6.查看某个表全部字段
desc slow_log;
show create table slow_log\G; (不仅可以显示表信息,还可以显示建表语句)
7.查看当前用户
select user();
8.查看当前所在数据库
select database();
9.创建新数据库(可以指定字符集)
create database db1 charset utf8;
10.创建新表
create table t1 (`id` int(4), `name` char(40));
11.查看数据库版本
select version();
12.查看数据库状态
show status;         当前会话状态
show global status;  全局数据库状态
show slave status\G;   查看主从数据库状态信息
13.查询数据库参数
show variables;
14.修改数据库参数
show variables like 'max_connect%';
set global max_connect_errors = 1000;(重启数据库会失效,要在配置文件中修改)
15.查看当前数据库队列
show processlist;
16.创建普通用户并授权给某个数据库
grant all on databasename.* to 'user1'@'localhost' identified by '123456';
17.查询表数据
select * from mysql.db;           //查询该表中的所有字段
select count(*) from mysql.user;  //count(*)表示表中有多少行
select db,user  from mysql.db;    //查询表中的多个字段
select * from mysql.db where host like '10.0.%';在查询语句中可以使用万能匹配 “%”
18.插入一行数据
insert into db1.t1 values (1, 'abc');
19.更改表的某一行数据
update db1.t1 set name='aaa' where id=1;
20.清空表数据
truncate table db1.t1;
21.删除表
drop table db1.t1;
22.清空数据库中的所有表(数据库名是eab12)
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12
23.删除数据库
drop database db1;
24.数据库备份
mysqldump  -uroot -p'yourpassword' mysql >/tmp/mysql.sql
25.数据库恢复
mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql
26.新建普通用户
CREATE USER name IDENTIFIED BY 'ssapdrow';
27.更改普通用户密码
SET PASSWORD FOR name=PASSWORD('fdddfd');
28.查看name用户权限
SHOW GRANTS FOR name;
29.脚本中执行mysql命令
mysql -uuser -ppasswd -e"show databases"
echo "show databases"|mysql -uuser -ppassword
以下是执行大量mysql语句采用的方式
mysql -uuser -hhostname -ppasswd <<EOF
mysql语句
EOF
发布了24 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gavinbj/article/details/102885733