赞
踩
背景
自己的服务需要安装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机器,检验是否可以开机重启
后面就是在华为云上开通对应的端口,然后其他客户端就能访问了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。