Linux环境离线安装MySQL5.7.3x版本数据库
- 前言
- 安装过程
- 1. 初始化安装环境
- 2. 修改my.cnf配置
- 3. 修改系统配置文件
- 4. 安装MySQL
- 5. 设置开机自启动
- 6. 配置MySQL相关信息
- 其他
- 参考链接
前言
- 内容说明
测试服务器首次安装MySQL,/etc目录下存在my.cnf文件,已存在自定义charlesYan用户
安装过程
1. 初始化安装环境
# 查看当前系统版本
cat /etc/redhat-release # CentOS Linux release 7.6.1810 (Core)
# 卸载系统自带的mysql
rpm -qa|grep mysql # qt5-qtbase-mysql-5.9.2-3.el7.x86_64
rpm -e --nodeps qt5-qtbase-mysql-5.9.2-3.el7.x86_64
# 上传mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz,解压缩到指定目录
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C ../java/mysql/
# /home/charlesYan/java目录下更改所属组和用户
chown -R charlesYan:charlesYan mysql
# /home/charlesYan/java/mysql 目录下创建mysql数据存储目录data目录及子目录tmp
mkdir -p data/tmp
mkdir -p data/log
chown -R charlesYan:charlesYan data
2. 修改my.cnf配置
- 操作步骤
vi /etc/my.cnf
- 替换my.cnf内容
[mysql]
socket=/home/charlesYan/java/mysql/mysql-5.7.36/lib/mysql.sock
# set mysql client default chararter
default-character-set=utf8
[mysqld]
# 原目录定义为/var/lib/mysql/mysql.sock
socket=/home/charlesYan/java/mysql/mysql-5.7.36/lib/mysql.sock
# set mysql server port
port = 3306 #默认是3306,这里发现3306已经被占用,因此防止这种情况发生,可以避免使用3306mysql默认端口
# set mysql install base dir
basedir=/home/charlesYan/java/mysql/mysql-5.7.36
# set the data store dir
datadir=/home/charlesYan/java/mysql/data/workdbs
tmpdir =/home/charlesYan/java/mysql/data/tmp
log-error=/home/charlesYan/java/mysql/data/log/mysql_3306.log
# set the number of allow max connnection
max_connections=200
# set server charactre default encoding
character-set-server=utf8
# the storage engine
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true
[mysql.server]
user=charlesYan
3. 修改系统配置文件
## 编辑etc目录下的“profile”文件。
vi /etc/profile
## 文件末尾添加如下内容:
export PATH=$PATH:/home/charlesYan/java/mysql/mysql-5.7.36/bin
export PATH=$PATH:/etc/init.d
## 重新加载etc目录下的profile文件。
source /etc/profile
4. 安装MySQL
# 将mysql.server复制到/etc/init.d/
cd /home/charlesYan/java/mysql/mysql-5.7.36
cp -a ./support-files/mysql.server /etc/init.d/mysql.server
##说明:如果执行cp -a ./support-files/mysql.server /etc/init.d/mysqld命令,即重命名mysql.server文件为mysqld,则将使用mysqld作为MySQL的服务名,而不是mysql.server。
# 进入mysql文件夹安装mysql
cd /home/charlesYan/java/mysql/mysql-5.7.36
## 安装mysql MySQL 5.7.6 开始不推荐使用mysql_install_db,因为它的功能已集成到 MySQL 服务器mysqld中
./bin/mysqld --initialize --user=charlesYan --basedir=/home/charlesYan/java/mysql/mysql-5.7.36 --datadir=/home/charlesYan/java/mysql/data/workdbs
## 查看日志获取临时密码
cat /home/charlesYan/java/mysql/data/log/mysql_3306.log ## odmNjX:sT3Oo
5. 设置开机自启动
- 操作步骤
## 注册并设置mysql.server服务为开机自启动
systemctl enable mysql.server.service
## 打印提示信息:mysql.server.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig mysql.server on
## 说明:如果上面步骤使用mysqld作为服务名,则注册命令使用: systemctl enable mysqld.service
## 启动
cd /home/charlesYan/java/mysql/mysql-5.7.36/support-files
## 这里一定要注意:切换为my.cnf中配置的user=charlesYan用户启动
mysql.server start ## 或者指定当前启动用户 mysql.server start --user=root
## 查看MySQL状态。
mysql.server status
- 注意事项
步骤5使用的mysql的服务名为mysql.server时,mysql的启动,停止,状态检查命令分别使用
service mysql.server start # 启动
service mysql.server stop # 停止
service mysql.server status # 状态检查
步骤5使用的mysql的服务名为mysqld时,mysql的启动,停止,状态检查命令分别使用
service mysqld start # 启动
service mysqld stop # 停止
service mysqld status # 状态检查
6. 配置MySQL相关信息
- 修改root用户密码
# 进入mysql安装目录下bin目录
cd /home/charlesYan/java/mysql/mysql-5.7.36/bin
# 登录用户
mysql -u root -p
# 按照提示信息输入记录的临时密码 odmNjX:sT3Oo
Enter Password:
# 修改root用户密码。 其中,单引号中的Password由用户自定义
mysql> set password=password('charlesYan@123');
# 赋予任何主机访问数据的权限。
mysql> grant all privileges on *.* to 'root'@'%' identified by 'Password' with grant option;
# 使修改生效并使用数据库。
mysql> flush privileges;
# 查看当前用户
mysql> use mysql;
mysql> select host,user from user;
# 系统显示如下类似信息,表示数据库已正常安装和运行。
+-----------+-----------+
| host | user |
+-----------+-----------+
| % | root |
| localhost | mysql.sys |
| localhost | root |
+-----------+-----------+
3 rows in set (0.01 sec)
# 退出MySQL数据库。
mysql> exit
# 其他 可以将/home/charlesYan/java/mysql/mysql-5.7.36/bin目录下的可执行程序mysql拷贝到/usr/bin目录下,方便后续执行这个命令。
cp /home/charlesYan/java/mysql/mysql-5.7.36/bin/mysql /usr/bin
其他
- MySQL启动报错:Starting MySQL.The server quit without updating PID file
问题描述
mysql.server start
# Starting MySQL.The server quit without updating PID file (/[失败]ootstone/java/mysql/data/workdbs/localhost.localdomain.pid)
service mysql.server restart
# MySQL server PID file could not be found! [失败]
# Starting MySQL.The server quit without updating PID file (/[失败]ootstone/java/mysql/data/workdbs/localhost.localdomain.pid).
解决方案
# 切换为my.cnf中配置的user=charlesYan用户启动
mysql.server start
# 或者指定当前启动用户
mysql.server start --user=root