linux 安装mysql 8.0.17

 本文介绍两种安装方式:官网RPM包安装mysql 和 源码编译安装mysql

(其中源码编译安装需要耗用大量的安装时间)

目录

配置安装环境

关闭防火墙并取消开机自启动

关闭SELinux

创建用户组和用户

创建数据目录

官网RPM安装mysql

下载RPM包

​安装RPM包

编译安装Mysql

1. 依赖安装

2. 升级CMake版本

3. 升级GCC版本

4. 下载mysql软件包,解压,并进入软件目录

5. 创建构建目录,并进入目录,进行mysql配置

6. 编译安装

7. 验证

运行mysql数据库

1. 修改配置文件。

2. MySQL加入service服务。

3. 配置环境变量。

4. 初始化数据库

启动数据库。

1 切换到mysql用户

2 启动mysql服务

3 如果采用官网RPM方式安装,则启动数据库的命令如下。

4 查看数据库进程。

5 查看数据库监测端口。

登录数据库

配置数据库帐号密码。 

1 登录数据库以后,修改通过root用户登录数据库的密码。

2 创建全域root用户(允许root从其他服务器访问)。

3 进行授权。

卸载mysql

官网RPM卸载

编译安装卸载

备份数据库


环境清单:

  • 操作系统:CentOS 7.6 x86
  • 软件版本:MySQL 8.0.17及以上

配置安装环境

关闭防火墙并取消开机自启动

1. 停止防火墙。

systemctl stop firewalld.service

2. 关闭防火墙。(执行disable命令关闭防火墙的同时,也取消了开机自启动。)

systemctl disable firewalld.service

3. 查看防火墙。(查看是否关闭成功)

systemctl status firewalld.service

关闭SELinux

 1. 设置SELinux成为permissive模式,临时关闭selinux。(临时打开则把0换成1)

setenforce 0

2. 查看selinux状态,确认为permissive模式。

getenforce

 3. 永久关闭selinux

        执行vim /etc/sysconfig/selinux命令,打开SELinux文件,把"SELINUX=enforcing" 改为 "SELINUX=disabled"。

vim /etc/sysconfig/selinux

         按键盘上的esc键,输入:wq保存退出,并重启服务器reboot

        确认SELinux是否关闭,如果SELinux status参数显示为disabled即为关闭状态。

/usr/sbin/sestatus -v

创建用户组和用户

        服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。创建的组和用户是操作系统层面的,不是数据库层面的,第一步中操作的就是操作系统用户。

1. 创建mysql用户组。

groupadd mysql

2. 创建mysql用户。

useradd -g mysql mysql

3. 设置mysql用户密码,重复输入密码(根据实际需求设置密码)。

passwd mysql

创建数据目录

 1. 创建数据目录/data和进程所需的相关目录。

mkdir -p /data/mysql
cd /data/mysql
mkdir data tmp run log

2. 修改数据目录/data的用户组和用户权限为mysql:mysql。

chown -R mysql:mysql /data
ll /

官网RPM安装mysql

下载RPM包

1. 下载MySQL的RPM安装包。

下载地址:https://downloads.mysql.com/archives/community/

 选择自己所需要的版本号,进行下载

2. 在服务器“/home”分区下新建“mysql-rpm”文件夹,并将下载的安装包上传至该目录。

mkdir -p /home/mysql-rpm && cd /home/mysql
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

3. 解压

tar xvf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

安装RPM包

1. 卸载系统自带mariadb-libs,否则会导致无法安装mysql-community-libs。

yum -y remove mariadb-libs

2. 安装依赖包。

yum -y install net-tools

3. 进入mysql-rpm的目录,并且安装MySQL。

rpm -ivh mysql-community-common-8.0.17-1.el7.aarch64.rpm
rpm -ivh mysql-community-libs-8.0.17-1.el7.aarch64.rpm
rpm -ivh mysql-community-client-8.0.17-1.el7.aarch64.rpm
rpm -ivh mysql-community-server-8.0.17-1.el7.aarch64.rpm

  至此,rpm方式安装完毕。

编译安装Mysql

环境要求:

1. 依赖安装

yum install -y bison ncurses ncurses-devel libaio-devel openssl openssl-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel

2. 升级CMake版本

        需要将CMake版本升级到3.5.2版本,链接:升级cmake

3. 升级GCC版本

        需要将gcc版本升级到7.3.0版本,链接:升级GCC

4. 下载mysql软件包,解压,并进入软件目录

        MySQL源码包(includes Boost Headers)下载地址:https://downloads.mysql.com/archives/community/ 

cd data/ && wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.17.tar.gz

tar -zxvf mysql-boost-8.0.17.tar.gz

cd mysql-8.0.17/

5. 创建构建目录,并进入目录,进行mysql配置

mkdir build && cd build

cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_BOOST=/data/mysql-8.0.17/boost/boost_1_69_0


路径要根据实际情况而定,关键参数说明:

  • DBUILD_CONFIG:设置为mysql_release的含义是指CMake编译参数采用Mysql官方发布release版本时的编译参数。
  • DCMAKE_INSTALL_PREFIX:用于指定软件的安装路径,本文安装路径为:/usr/local/mysql。文档中的安装路径只是参考,根据客户实际情况进行配置。
  • DMYSQL_DATADIR:创建数据库时,数据文件存放的路径。本次安装路径为:/data/mysql/data
  • DWITH_BOOST:解压MySQL源码包后,解压文件中boost_1_69_0文件夹所在路径。例如,本文解压在“/data”目录下,则路径为:/data/mysql-8.0.17/boost/boost_1_69_0。

6. 编译安装

make -j 8 && make -j 8 install

说明:-j 8 参数充分利用多核CPU优势,加快编译速度,参数-j后数字为CPU核数,可用“cat /proc/cpuinfo | grep processor | wc -l”进行查看,此数值应小于等于CPU核数。

又是一个漫长的等待安装过程~

不幸的事情发生了,好像是内存不够给终止了

解决方案:

# 增加 64x16=1024M空间

dd if=/dev/zero of=/swapfile bs=64M count=16

# swap格式
mkswap /swapfile

# 使用swap空间
swapon /swapfile

        又得重新编译安装,make -j 8 make install (如果还是出现这个问题,就再增加空间,或者一开始就count=32,增加2048M)

7. 验证

7.1 查看安装目录

ls /usr/local/mysql/

7.2 验证版本

/usr/local/mysql/bin/mysql --version

运行mysql数据库

本文有两种安装方式,安装完毕后软件的目录都不一致,在后面的操作需要注意路径的问题

  • 官网RPM安装方式安装:软件安装目录默认为“/usr”
  • 编译安装方式安装:软件安装目录默认为“/usr/local/mysql”

1. 修改配置文件。

1.1 编辑my.cnf文件。

rm -f /etc/my.cnf
echo -e "[mysqld_safe]\nlog-error=/data/mysql/log/mysql.log\npid-file=/data/mysql/run/mysqld.pid\n[mysqldump]\nquick\n[mysql]\nno-auto-rehash\n[client]\ndefault-character-set=utf8\n[mysqld]\nbasedir=/usr/local/mysql\nsocket=/data/mysql/run/mysql.sock\ntmpdir=/data/mysql/tmp\ndatadir=/data/mysql/data\ndefault_authentication_plugin=mysql_native_password\nport=3306\nuser=mysql\n" > /etc/my.cnf

说明:其中文件路径(包括软件安装路径basedir、数据路径datadir等)根据实际情况修改。user=mysql是指操作系统层的用户,即创建用户和用户中创建的用户。

1.2 确保my.cnf配置文件修改正确。

cat /etc/my.cnf

1.3 修改配置文件/etc/my.cnf的用户组和用户权限为mysql:mysql。

chown mysql:mysql /etc/my.cnf
ll /etc/my.cnf

 

2. MySQL加入service服务。

chmod 777 /usr/local/mysql/support-files/mysql.server
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on

 修改/etc/init.d/mysql的用户组和用户权限为mysql:mysql

chown -R mysql:mysql /etc/init.d/mysql
ll /etc/init.d/mysql

3. 配置环境变量。

3.1 修改环境变量文件/etc/profile的用户组和用户权限为mysql:mysql。

chown mysql:mysql /etc/profile
ll /etc/profile

3.2 切换到mysql用户。

su - mysql
whoami

3.3 安装完成后,将MySQL二进制文件路径到PATH。

echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile

使环境生效

source /etc/profile

注:其中PATH中的“/usr/local/mysql/bin”路径,为MySQL软件安装目录下的bin文件的绝对路径,请根据实际情况修改。

4. 初始化数据库

mysqld --defaults-file=/etc/my.cnf --initialize

# 或者

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize

说明:

  • 以上步骤回显倒数第2行中有初始密码,请注意保存,6时会用到。
  • 如果采用官网RPM安装方式安装,则mysqld文件在/usr/sbin目录下。请根据实际情况修改初始化数据库命令。
  • 如果初始化失败,提示“--initialize specified but the data directory has files in it.”则执行rm -rf /data/mysql/data/命令删除数据后重新初始化。

 初始化完成后,查看数据目录下数据文件/data/mysql/data的用户组和用户权限为mysql:mysql(因为前面/etc/my.cnf文件中配置的操作系统用户是user=mysql)。

启动数据库。

1 切换到mysql用户

su - mysql

2 启动mysql服务

service mysql start

注:如果以root用户(su - root)第一次启动数据库服务(service mysql start),则启动时会提示缺少mysql.log文件而导致失败。切换到mysql用户(su - mysql)启动数据库服务后,会在/data/mysql/log目录下生成mysql.log文件,停止数据库服务(service mysql stop),再次以root用户启动数据库服务则不会报错。

3 如果采用官网RPM方式安装,则启动数据库的命令如下。

/usr/sbin/mysqld --defaults-file=/etc/my.cnf &

4 查看数据库进程。

ps -ef | grep mysql

5 查看数据库监测端口。

 netstat -anpt
 netstat -anpt | grep mysql
 netstat -anpt | grep 3306

登录数据库

  • 提示输入密码时,请输入第四步产生的初始密码。
  • 如果采用官网RPM安装方式,则mysql文件在/usr/bin目录下。登录数据库的命令根据实际情况修改。
mysql -uroot -p -S /data/mysql/run/mysql.sock

配置数据库帐号密码。 

1 登录数据库以后,修改通过root用户登录数据库的密码。

alter user 'root'@'localhost' identified by "123456";

2 创建全域root用户(允许root从其他服务器访问)。

create user 'root'@'%' identified by '123456';

3 进行授权。

grant all privileges on *.* to 'root'@'%';
flush privileges;

卸载mysql

关闭数据库进程。

ps -ef | grep mysql
/usr/bin/mysqladmin -uroot -p123456 shutdown -S /data/mysql/run/mysql.sock

# 或者
kill -9 进程ID

官网RPM卸载

1. 卸载数据库RPM包。

rpm -qa | grep mysql
rpm -qa | grep mysql-community | xargs rpm -e

2. 删除对应的安装目录和数据目录。

ls /usr/mysql
rm -rf /usr/mysql
ls /data/mysql
rm -rf /data/mysql

编译安装卸载

1. 源码编译安装只是生成对应的文件,不涉及卸载,直接删除对应的安装目录和数据目录即可。

ls /usr/local/mysql
rm -rf /usr/local/mysql
ls /data/mysql
rm -rf /data/mysql

备份数据库

基本命令

1. 备份数据库。

mysqldump -h <主机> -P <端口> -u <用户名> -p<密码> --database <数据库> > /路径/文件名.sql

2. 恢复数据库。 

mysql -h <主机> -P <端口> -u <用户名> -p<密码> --<数据库> < /opt/mytest_bak.sql

举例

1. 全库备份。

mysqldump -h 192.168.41.41 -P 3306 -uroot -p123456 --all-databases > alldb.sql

2. 备份数据库db1至db1.sql。

mysqldump -h 192.168.41.41 -P 3306 -uroot -p123456 --databases db1 > db1.sql

3. 备份数据库db1中的表tb1至db1tb1.sql。

mysqldump -h 192.168.41.41 -P 3306 -uroot -p123456 db1 tb1 > db1tb1.sql

4. 恢复数据库db1。

mysql -h 192.168.41.41 -P 3306 -uroot -p123456 db1 < db1.sql

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于MySQL 8.0.17安装和配置,您可以按照以下步骤进行操作: 1. 下载MySQL 8.0.17安装文件:您可以从MySQL官方网站下载适用于您的操作系统的二进制文件。 2. 安装MySQL:双击下载的安装文件,按照安装向导的指示进行安装。在安装过程中,您可以选择自定义安装选项,例如更改安装路径或选择只安装特定组件。 3. 配置MySQL:一旦安装完成,您需要对MySQL进行一些配置。 a. 设置root密码:在MySQL安装目录下找到一个名为"mysql"的文件夹,其中包含一个名为"my.ini"或"my.cnf"的配置文件。使用文本编辑器打开该文件,并找到"[mysqld]"部分。在这一部分下面添加或修改一行 "skip-grant-tables",然后保存退出。运行命令提示符(Windows)或终端(Linux/Mac),输入以下命令重启MySQL服务: ``` net start mysql ``` b. 设置root用户密码:运行命令提示符(Windows)或终端(Linux/Mac),输入以下命令连接到MySQL服务器: ``` mysql -u root ``` 这将以root用户连接到MySQL服务器。然后您可以使用以下命令设置root用户的密码,将'your_new_password'替换为您想要设置的密码: ``` ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password'; ``` c. 移除或注释掉"skip-grant-tables":回到之前配置的"my.ini"或"my.cnf"文件,在"[mysqld]"部分找到"skip-grant-tables"行,并删除或注释掉该行(在行前添加'#'字符)。保存并退出文件。 d. 重启MySQL服务:运行命令提示符(Windows)或终端(Linux/Mac),输入以下命令重启MySQL服务: ``` net start mysql ``` 4. 测试MySQL连接:在命令提示符(Windows)或终端(Linux/Mac)中,输入以下命令连接到MySQL服务器: ``` mysql -u root -p ``` 然后输入之前设置的root密码,如果一切正常,您将成功连接到MySQL服务器。 这是一个基本的MySQL 8.0.17安装和配置教程,您可以根据需要进行其他额外的配置和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大帅不是我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值