linux安装mysql8.0.17压缩版(主从配置),详细教程和错误分析解决

2 篇文章 0 订阅
1 篇文章 0 订阅

上传及安装mysql压缩版步骤

 

mysql文件太大 4百多兆,后续上传到百度云上,也可以去官网下载

链接:https://pan.baidu.com/s/1d87mUZABuS4H7vxDqlApgg 
提取码:g50c  

如果网址无法下载邮件扣我naixiang158@163.com

 

1.上传本地mysql文件

1:首先连接上一台Linux主机
2:输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行  yum   -y  install  lrzsz命令进行安装。

安装成功后,输入rpm命令确认是否正确安装

使用 rz -y命令进行文件上传,此时会弹出上传的窗口:

下载完成后就可以输入ls查看文件了

 

 

 

2.创建数据仓库目录

mkdir  /usr/local/mysql

mkdir  /usr/local/mysql /mysqldb

3.解压文件

tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz

  1. 将解压的移动文件夹并改名为mysql到   /usr/local/ 目录 下      切换到解压包目录下执行命令

mv mysql-8.0.17-linux-glibc2.12-x86_64  /usr/local/mysql/mysql8.0

 

4.给存放目录授权

# chmod -R 777 /usr/local/mysql

# chmod -R 777 /usr/local/mysql/mysqldb/

5.创建MySQL组:创建MySQL用户组,并设置密码。

# useradd mysql
# passwd mysql

6.将mysql目录的权限授给mysql用户和mysql组

 # chown -R mysql:mysql /usr/local/mysql

7.创建MySQL的安装初始化配置文件my.cnf

vi  /etc/my.cnf

输入i,然后用下面内容替换原文本内容,然后按esc键,输入wq保存退出

[mysqld]

# 设置3306端口

port=3306

# 设置mysql的安装目录

basedir=/usr/local/mysql/mysql8.0

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/mysqldb

# 允许最大连接数

max_connections=10000

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

# 服务端使用的字符集默认为UTF8

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf8

 

8.安装MySQL

进入MySQL安装目录:

# cd /usr/local/mysql/mysql8.0/bin/

#./mysqld --initialize –console   初始化生成随机密码(一定保存好,待会需要改密码<编号11>)

9.启动MySQL服务

# cd ..
# cd support-files/
# ./mysql.server start

10.将MySQL加入系统进程中

#  cp mysql.server /etc/init.d/mysqld

重启MySQL服务:

# service mysqld restart

11.修改登录密码

# cd ..

# cd bin/

# ./mysql -u root -p

修改密码:

 mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

12.设置允许远程登录

mysql> use mysql;

mysql> update user set user.Host='%' where user.User='root';

mysql> flush privileges;    --重要

mysql> quit;

13.初始化以后会生成新的文件,需要重新授权给mysql

# chmod -R mysql:mysql /usr/local/mysql

# chmod -R mysql:mysql /usr/local/mysql/mysqldb/

14.重启MySQL服务:

 # service mysqld restart

 

15.任意目录登录MySQL问题:

执行命令#mysql -u root -p 结果为:未找到命令

解决方法:创建一个软连接到 /usr/bin。

# ln -s /usr/local/mysql/mysql-8.0.16-el7-x86_64/bin/mysql /usr/bin

再执行命令即可登录成功,#mysql -u root -p

 

 

出现错误解决

 

1.启动MySQL服务

  1. 权限不足:
    # cd support-files/
    # ./mysql.server start

出现错误Starting MySQL.Logging to '/usr/local/mysql/mysqldb/localhost.localdomain.err'.ERROR! The server quit without updating PID file (/usr/local/mysql/mysqldb/localhost.localdomain.pid).

解决方法:出现类似pid的错误基本是访问权限问题,则将括号中的路径重新授权给mysql用户即可:

#chown -R mysql.mysql  /usr/local/mysql/mysqldb

 

  1. 权限不足

执行启动命令# service mysqld restart

错误:env: /etc/init.d/mysqld: Permission denied

解决方法#chmod a+wrx /etc/init.d/mysqld

 

 

2.如果远程工具无法登录mysql出现2003错误

  1. 首先查看是my.cnf文件中是限制了127.0.0.1的ip限制, ,如有则去除,

执行命令得到my.cnf所在位置 #whereis my.cnf

    1. 连接mysql本地查看root用户权限是否为 %
    2. 查看端口号3306是否开放

firewall-cmd --list-ports // 查看防火墙开放了那些端口

没有查看到3306/tcp,说明端口未开放,

#vi /etc/sysconfig/iptables    //最后一行添加下面语句

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT      

输入i,然后用下面内容替换原文本内容,然后按esc键,输入wq保存退出

telnet默认是没有的需要进行安装 #yum install telnet 安装源,#yum install telnet-server安装服务)

  CentOS7的默认防火墙为firewall,且默认是不打开的。

  #systemctl start firewalld 启动friewall

  #systemctl status firewalld 查看firewall启动情况

  #firewall-cmd --zone=public --add-port=3306/tcp --permanent 开启3306端口

  然后重启 #firewalld  #firewall-cmd --reload

  使用firewall-cmd --query-port=3306/tcp

检查3306端口是否已经开启,如果显示yes,则表示防火墙已开启该端口。

 

3.设置MySQL开机自启

先将MySQL加入系统进程

# cp /usr/local/mysql/mysql8.0/support-files/mysql.server  /etc/init.d/mysqld

赋予可执行权限:# chmod +x /etc/init.d/mysqld

添加为服务:# chkconfig --add mysqld

查看服务列表:# chkconfig –list

  注:3、4、5的状态为开或者on,则表示成功。如果是管或者off,则需要执行:# chkconfig --level 345 mysqld on

最后重启服务器:reboot

再次查看服务列表或者查看3306端口:

 

 

  • 配置主从复制

主从服务器要求才可以实现:

    1.1、数据库版本一致

    1.2、初始化表,并在后台启动mysql

    1.3、修改root的密码

  1. 修改主服务器master

            a)编辑/etc/my.cnf文件,在[mysqld]下增加如下两行设置:

            # [必须]启用二进制日志
            log-bin=mysql-bin
            # [必须]服务器唯一ID,默认是1,一般取IP最后一段
            server-id=1

            b)登录mysql,创建用于数据同步的账户
            mysql -uroot -p666666
            CREATE USER 'mysync'@'ip前缀.%' IDENTIFIED BY '123456';
            GRANT REPLICATION SLAVE ON *.* TO  'mysync'@' ip前缀.%';
            GRANT replication client ON *.* TO  'mysync'@' ip前缀.%';
            FLUSH PRIVILEGES;
            c)查看master状态(查询的状态在从机配置时需要用到)
            show variables like 'log_bin%';
            show master status;

           

    1. 修改从服务器slave:

            a)编辑/etc/my.cnf文件,在[mysqld]下增加如下两行设置:
            [mysqld]
            server-id=2

            b)登录mysql,创建用于数据同步的账户
            /usr/local/mysql/mysql8.0/bin/mysql -uroot -p666666

                       change master to master_host='10.226.10.84', master_user='mysync', master_password='123456', master_log_file='master-log-bin.000004', master_log_pos=155;

             

执行命令两个都改成yes了:start slave;

再次查询状态看是否为yes:show slave status\G;

 

 

  • 测试

在主服务器上新建一个数据库test

 

执行命令查看:show slave status\G;

测试通过,完美

 

 

  • 常见问题处理

当我们配置好MySQL主从同步时,原本是可以实现主从同步的,但是重启机器后就发现无法同步了。

MySQL Replication 中 slave 机器上有两个关键的线程,死一个都不行,一个是 Slave_IO_Running,一个是 Slave_SQL_Running。一个负责与主机的 IO 通信,一个负责自己的 slave mysql 语句执行。

1)如果是Slave_SQL_Running:No,如图。

解决办法:

> stop slave;
> set global sql_slave_skip_counter=1;
> start slave;

2)如果是Slave_IO_Running:No,如图。

解决办法:
查看主服务器状态:

查看从服务器状态:

找到问题所在:Master_Log_File没有对应。

> stop slave;
> change master to master_log_file='mysql-bin.000026',master_log_pos=0;
> slave start;
> show slave status\G;

 

 

因为主从数据量特别大,会导致日志特别占内存,配置从服务器不产生日志:

编辑my.cnf文件,一般路径为:/etc/my.cnf

在[mysqld]下面添加:skip-log-bin   (已测试可以)  或者disable-log-bin(未测试,测试过的朋友告诉下结果)

重启数据库  /etc/init.d/mysqld restart;

执行命令show variables like 'log_bin';

 

如有帮助  随心:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值