背景 

自己的服务需要安装mysql数据库,之前都是安装在windows上,本次极其详细的介绍安装在华为云服务器上

 

 

1、资源下载

mysql-5.7.38资源下载

 

 

2、 环境检查

## ps -fe | grep mysql

## 如果是有的话,如果仍然需要安装就强行卸载

## 查看mysql 的版本(如果已经安装的话)
## mysql -version

rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

3、mysql安装 

1)拷贝文件

将下载的文件通过连接工具上传到服务器上

2) 创建目录并解压

##  创建目录
mkdir /usr/local/mysql

## 解压文件并重命名
tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql-5.7.38

3)添加mysql用户及对应的组 

## 添加用户组

groupadd mysql

# useradd -r参数表示mysql用户是系统用户,不可用于登录系统
useradd -r -g mysql mysql

## 创建data目录
mkdir /usr/local/mysql/data

# 将/usr/local/mysql/的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql/

4)创建配置文件

可以直接将/etc路径下创建my.cnf文件

[mysqld]
## 基础位置
basedir = /usr/local/mysql/mysql-5.7.38
## 数据存放位置
datadir = /usr/local/mysql/data
## 端口
port = 3306

socket = /tmp/mysql.sock
## 字符集
character-set-server=utf8

log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 5)进行初始化

默认会加载/etc路径下的my.cnf文件,在对应的日志文件中能找到初始化的密码(高版本的mysql会在控制台直接输出)

## 初始化命令为mysqld
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.38 --datadir=/usr/local/mysql/data/
## 在日志文件中找到密码方便以后登录和改密
cat /usr/local/mysql/data/mysqld.log

 

 6)执行启动命令

## 执行启动命令
./support-files/mysql.server start

报错如下:

 Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)

 这是因为配置中的basedir指定的值不是mysql的根路径,根路径应该是mysqld对应bin文件的上级目录,本例中为/usr/local/mysql/mysql-5.7.38

 继续执行之后,执行成功

 

7)登录并修改密码

到mysql的bin目录中执行msql -u root -p命令

##  当需要输入密码的时候,就是日志中的密码
./mysql -u root -p

 报错如下

./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

说明是缺少依赖

## 安装依赖之后重试可以登录
 yum install -y ncurses-compat-libs

 

 

## 重置密码
mysql> set password=password('root');
## 分配远程访问权限
mysql> grant all privileges on *.* to root@'%' identified by 'root';
## 刷新权限
mysql> flush privileges;
# 退出登录
mysql> exit;

8)设置机器启动时候自动启动mysql

将/support-files/mysql.server 复制到/etc/init.d路径下,并通过chkconfig --add xxx添加自动重启

## 复制到自启动路径下
## cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

##  显示服务列表
chkconfig --list

## 添加服务
chkconfig --add mysqld

##  重新查看显示服务列表
chkconfig --list

 PS:当mysqld对应的3.4.5项都是on的话,表示可以重新启动

## 如果是关闭的话,使用下面命令将其开启
chkconfig --level 345 mysqld on

reboot机器,检验是否可以开机重启 

 后面就是在华为云上开通对应的端口,然后其他客户端就能访问了

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐