华为云上安装mysql-5.7.38-极其详细的安装教程
华为云上安装mysql-5.7.38-极其详细的安装教程
·
背景
自己的服务需要安装mysql数据库,之前都是安装在windows上,本次极其详细的介绍安装在华为云服务器上
1、资源下载
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机器,检验是否可以开机重启
后面就是在华为云上开通对应的端口,然后其他客户端就能访问了
更多推荐
已为社区贡献3条内容
所有评论(0)