IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> MySQL5.7安装(glibc和源码两种方式) -> 正文阅读

[系统运维]MySQL5.7安装(glibc和源码两种方式)

??? 目录

一、下载MySQL

二、安装glibc包

1.安装

2.配置

2.1 修改root账号密码

2.2 添加到环境变量

2.3 编写mysql的配置文件

2.4 安全配置

三、安装源码包

1.安装

2.初始化

3.配置

四、忘记密码怎么办?(采用跳过授权表的方法)



一、下载MySQL

官网下载:MySQL :: Download MySQL Community Server

glibc包:mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

源码包:mysql-boost-5.7.31.tar.gz(下载包含boost库的包,方便安装)


二、安装glibc包


1.安装

yum install libaio -y    # 安装依赖库

tar -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz    # 解压

useradd -r -s /sbin/nologin mysql    # 创建无法登陆的mysql用户

rm -rf /etc/my.cnf    # 删除配置文件,这是mariadb的预留配置文件,不删除会导致mysql初始化失败

mv mysql-5.7.31-linux-glibc2.12-x86_64 /mysql_3306    # 这是自定义目录,官方指定目录是/usr/local

cd /mysql_3306

mkdir mysql-files    # 官方要求创建

chown mysql:mysql mysql-files

chmod 750 mysql-files

bin/mysqld --initialize --user=mysql --basedir=/mysql_3306    # 初始化,运行完成后,注意最后一行的随机密码,这是root用户的密码。初始化成功标志是mysql目录下生成 ./data/mysql

bin/mysql_ssl_rsa_setup --datadir=/mysql_3306/data    # 设置SSL加密连接

cp support-files/mysql.server /etc/init.d/mysql_3306    # 将启动文件复制到/etc/init.d/,这样可以使用service启动mysql

vim /etc/init.d/mysql_3306    # 自定义目录需要修改文件里的路径,官方指定目录则无需修改
    46 basedir=/mysql_3306
    47 datadir=/mysql_3306/data

service mysql_3306 start    # 启动mysql,启动时的文件名要与/etc/init.d/下的文件名相同

chkconfig --add mysql_3306    # 添加自启动

chkconfig mysql_3306 on    # 把2345四种模式开启


2.配置

2.1 修改root账号密码

方法一:
/mysql_3306/bin/mysqladmin -uroot password '123456' -p    # 回车,然后输入初始化产生的随机密码


方法二:
/mysql_3306/bin/mysql -uroot -p随机密码    # 进入mysql

mysql> set password='123456';    # 设置密码
mysql> flush privielges;    # 刷新权限生效

2.2 添加到环境变量

echo 'export PATH=$PATH:/mysql_3306/bin' >> /etc/profile

source /etc/profile    # 使配置文件生效

2.3 编写mysql的配置文件

vim /mysql_3306/my.cnf
    [mysqld]
    basedir=/mysql_3306
    datadir=/mysql_3306/data
    socket=/tmp/mysql.sock

service mysql_3306 restart    # 修改完配置文件,记得重启服务

2.4 安全配置

mysql_secure_installation    # 全都选Y

三、安装源码包

1.安装

yum -y install cmake libaio-devel openssl-devel gcc gcc-c++ ncurses ncurses-devel bison    # 安装依赖包

tar -xf mysql-boost-5.7.31.tar.gz

cd mysql-5.7.31

vim myconfig.sh    # 在脚本文件里执行配置,好处是不会遗漏,方便检查
    cmake . \
    -DCMAKE_INSTALL_PREFIX=/mysql_3307 \
    -DMYSQL_DATADIR=/mysql_3307/data \
    -DMYSQL_TCP_PORT=3307 \
    -DMYSQL_UNIX_ADDR=/mysql_3307/mysql.sock \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DWITH_FEDERATED_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8mb4 \
    -DDEFAULT_COLLATION=utf8mb4_general_ci \
    -DWITH_SSL=system \
    -DWITH_BOOST=boost

chmod +x myconfig.sh    # 加执行权限

./myconfig.sh    # 执行脚本

make -j2 && make install    # 编译安装,-j后的数字表示CPU核数,可以并行编译


编译出错处理方法:
rm -f CMakeCache.txt
make -j2 && make install

?

2.初始化

cd /mysql_3307    # 安装时自定义的安装目录

mkdir mysql-files    # 官方要求

chown -R mysql:mysql /mysql_3307    # 使mysql用户对/mysql_3307里的文件拥有修改权限

chmod 750 mysql-files

bin/mysqld --initialize --user=mysql --basedir=/mysql_3307 --datadir=/mysql_3307/data    # 初始化,注意最后产生的随机密码

cp support-files/mysql.server /etc/init.d/mysql_3307    # 可以用service启动mysql

service mysql_3307 start    # 注意服务名称要与/etc/init.d/下的文件名一致

chkconfig --add mysql_3307    # 添加开机自启动

chkconfig mysql_3307 on    # 开启2345四种模式

?

3.配置

vim /mysql_3307/my.cnf    # 编写配置文件
    [mysqld]
    basedir=/mysql_3307
    datadir=/mysql_3307/data
    socket=/mysql_3307/mysql.sock

service mysql_3307 restart    # 修改完配置文件,记得重启

/mysql_3307/bin/mysqladmin -uroot password '123' -p    # 输入随机密码后,修改root账号密码

/mysql_3307/bin/mysql_secure_installation    # 安全设置,都选Y

?

四、忘记密码怎么办?(采用跳过授权表的方法)

mysqladmin shutdown -p    # 关闭数据库

/mysql_3306/bin/mysqld --defaults-file=/mysql_3306/my.cnf --skip-grant-tables --skip-networking=on  --user=mysql &    # 跳过授权表启动

mysql -uroot -p    # 不用输密码,直接回车

mysql> flush privileges;    # 刷新授权表,这一步千万不能少

mysql> alter user 'root'@'localhost' identified by '123';    # 修改密码


mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass') WHERE User = 'root' AND Host = 'localhost';    # 如果上一条修改密码不成功,则使用这条命令

mysql> FLUSH PRIVILEGES;    # 修改完密码记得刷新权限


jobs    # 查看后台进程

kill %1    # 结束后台的mysqld进程

service mysql_3306 start    # 重启服务

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 18:06:28  更:2021-12-01 18:07:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:27:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码