简单的安装mysql-8.0.20服务器(离线版)+mysql主从服务器搭建

需要提前把包下载https://www.aliyundrive.com/s/rADwC3Pibr9

提取码:em52

请先大概看完步骤再操作,谢谢

第一步: 把下载好的压缩包上传到服务器上

第二步: mkdir /usr/local/mysql

第三步: mv mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz /usr/local/mysql/

第四步: cd /usr/local/mysql/

第五步:tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

第六步: mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

第七步: cd mysql-8.0/

第八步: mkdir data

第九步: groupadd mysql

第十步: useradd -g mysql mysql

第十一步: chown -R mysql:mysql /usr/local/mysql/mysql-8.0

第十二步: cd bin (或者 cd /usr/local/mysql/mysql-8.0/bin/)

第十三步: ./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize --lower-case-table-names=1

第十四步: 记得复制密码 这里的是(4-7H>+CUo-F.)等会要用到

第十五步: vim /etc/my.cnf

【编辑 my.cnf (没有就新建一个 touch my.cnf) vim /etc/my.cnf 注释mysqld_safe】

第十六步:修改成这样

[mysqld]
basedir=/usr/local/mysql/mysql-8.0/
datadir=/usr/local/mysql/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names  = 1
bind-address=0.0.0.0
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

#[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d

第十七步:保存退出 :wq

第十八步:cp -a /usr/local/mysql/mysql-8.0/support-files/mysql.server /etc/init.d/mysql

第十九步: chmod +x /etc/init.d/mysql

第二十步: chkconfig --add mysql

第二十一步: service mysql start

第二十二步: service mysql stop

第二十三步: service mysql start

第二十四步: service mysql restart

第二十五步: service mysql status

第二十六步: ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin

第二十七步:mysql -uroot -p'4-7H>+CUo-F.' (密码就是在第十四步让你保存的密码)

第二十八步:alter user root@"localhost" identified by "GO-yy";

第二十九步:exit

第三十步:mysql -u root -p'GO-yy'

恭喜你已完成

部分操作

mkdir      /usr/local/mysql
mv      mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz      /usr/local/mysql/
cd   /usr/local/mysql/
tar  -xvf     mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
mv     mysql-8.0.20-linux-glibc2.12-x86_64   mysql-8.0
cd       mysql-8.0/
mkdir     data
groupadd       mysql
useradd     -g     mysql   mysql
chown      -R    mysql:mysql        /usr/local/mysql/mysql-8.0
cd     /usr/local/mysql/mysql-8.0/bin/
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize --lower-case-table-names=1

cat>/etc/my.cnf  <<EVN
[mysqld]
basedir=/usr/local/mysql/mysql-8.0/
datadir=/usr/local/mysql/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names  = 1
bind-address=0.0.0.0
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

#[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d
EVN

cp      -a     /usr/local/mysql/mysql-8.0/support-files/mysql.server      /etc/init.d/mysql
chmod    +x      /etc/init.d/mysql 
chkconfig    --add      mysql  
service mysql start
service mysql stop 
service mysql start
service mysql restart
service mysql status
ln  -s  /usr/local/mysql/mysql-8.0/bin/mysql  /usr/bin

以上只是搭建mysql服务



下面是mysql服务加主从

主服务器: 192.168.73.2 从服务器:192.168.73.3

安装mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

mkdir /usr/local/mysql

mv mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz /usr/local/mysql/

cd /usr/local/mysql/

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

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

cd mysql-8.0/

mkdir data

groupadd mysql

useradd -g mysql mysql

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

cd bin (或者 cd /usr/local/mysql/mysql-8.0/bin/)

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize --lower-case-table-names=1

编译的时候记得复制密码

vim /etc/my.cnf

-------------------------------------------------------------------------------------

[mysqld]

basedir=/usr/local/mysql/mysql-8.0/

datadir=/usr/local/mysql/mysql-8.0/data/

socket=/tmp/mysql.sock

character-set-server=UTF8MB4

lower_case_table_names = 1

bind-address=0.0.0.0

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Settings user and group are ignored when systemd is used.

# If you need to run mysqld under a different user or group,

# customize your systemd unit file for mariadb according to the

# instructions in http://fedoraproject.org/wiki/Systemd

#[mysqld_safe]

#log-error=/var/log/mariadb/mariadb.log

#pid-file=/var/run/mariadb/mariadb.pid

#

# include all files from the config directory

#

#!includedir /etc/my.cnf.d

---------------------------------------------------------------------------------------

cp -a /usr/local/mysql/mysql-8.0/support-files/mysql.server /etc/init.d/mysql

chmod +x /etc/init.d/mysql

chkconfig --add mysql

service mysql start

service mysql stop

service mysql start

service mysql restart

service mysql status

ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin

mysql -uroot -p'4-7H>+CUo-F.' (编译的时候复制的密码:初始密码)

alter user root@"localhost" identified by "123qqq...A"; #修改密码

exit

------------------------------------------------------------------------------------------------------------------------

主服务器的操作:192.168.73.2

注意先停掉mysql服务在修改

service mysql stop

修改mysql的配置文件 my.conf的文件 (find / -name "my.conf") 如果不知道就用find查询

[mysqld] #在这下面添加2行

log-bin=mysql-bin

server-id=1

service mysql start

----------------------------------------------------------------------------------------------------------------------------

mysql -uroot -p'123qqq...A'

create user 新用户@'%' identified with 'mysql_native_password' by '123456'; #创建新用户

grant REPLICATION SLAVE on *.* to 新用户@'%'; #给用户授权权限(all是所以权限 replication是复制权限1 )

fFLUSH PRIVILEGES; (刷新)

use mysql; (去到mysql库里)

select user,host,plugin,authentication_string from user \G (查看刚刚创建的用户:如:repl)

show master status;

File的值是当前使用的二进制日志的文件名,Position是该日志里面的位置信息(不需要纠结这个究竟代表什么),记住这两个值,会在下面配置从服务器时用到。

File position

| mysql-bin.000001 | 876 |

注意:如果之前的服务器并没有配置使用二进制日志,那么使用上面的sql语句会显示空,在锁表之后,再导出数据库里的数据(如果数据库里没有数据,可以忽略这一步)

mkdir -p /server/backup/

mysqldump -uroot -p'123qqq...A' -S /tmp/mysql.sock --all-databases > /server/backup/mysql_bak.$(date +%F).sql (这步是导出所有数据!!!!)

如果数据量很大,可以在导出时就压缩为原来的大概三分之一

mysqldump -uroot -p'123qqq...A' -S /tmp/mysql.sock --all-databases | gzip > /server/backup/mysql_bak.$(date +%F).sql.gz

这时可以对数据库解锁,恢复对主数据库的操作

mysql > unlock tables; #建议使用第一种方式

rsync /server/backup/mysql_bak今天的日期 root@192.168.73.3:./

以上是主服务器的操作: 192.168.73.2

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

从服务器的操作:192.168.73.3

mkdir -p /server/backup/

mv /root/mysql_bak今天的日期 /server/backup/

同样安装mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz (跟主机器操作一样:只要做到帮root修改密码就可以)

注意先停掉mysql服务在修改

service mysql stop

修改mysql的配置文件 my.conf的文件 (find / -name "my.conf") 如果不知道就用find查询

从服务器上的my.cnf文件中是否已经在[mysqld]模块下配置leserver-id

[mysqld]

server-id=2 #添加(2可以任意修改,最好的ip的最后一位数)

## 忽略表

replicate-wild-ignore-table=mysql.* #添加

replicate-wild-ignore-table=sys.* #添加

servce mysql start

[root@localhost ~]# mysql -uroot -p'123qqq...A' -S /tmp/mysql.sock < /server/backup/mysql_bak.2023-02-06.sql

mysql -u root -p '123456'

mysql> change master to

-> master_host='192.168.73.2', #主服务器的ip地址

-> master_port=3306, #主服务器的mysql端口号

-> master_user='rep', #主服务器配置的用户来连接主数据库

-> master_password='123456', #主服务器配置的用户的密码

-> master_log_file='mysql-bin.000001', # 主服务器的File

-> master_log_pos=876; #主服务器的position

show slave status \G;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在 Linux 上进行离线安装 MySQL,您可以按照以下步骤操作: 1. 首先,您需要从 MySQL 的官方网站上下载 MySQL 安装文件,确保选择您所需要的本和适当的操作系统。 2. 将下载的文件复制到您的 Linux 系统中,并解压缩它。 3. 使用 root 用户权限运行安装脚本。在命令行中输入以下内容:sudo ./mysql-installation-script 4. 安装程序会开始运行并提示您进行配置。按照提示进行操作并输入必要的信息,例如 root 用户的密码以及其他有关 MySQL 的设置。 5. 安装程序会自动安装 MySQL,并创建必要的文件和目录。在安装完成后,您可以通过启动 MySQL 服务来开始使用它。 这就是在 Linux 上进行离线安装 MySQL 的基本步骤。请注意,在安装过程中可能需要输入一些其他的信息和设置,这些信息和设置可能因您的需求和环境而异。 ### 回答2: 在Linux系统中离线安装MySQL可以通过以下步骤进行操作: 1. 首先,在MySQL官网下载MySQL离线安装包,选择与你的操作系统和本相对应的安装包,下载后将其保存到本地目录中。 2. 确保你已经安装了解压工具,比如tar命令。打开终端,进入保存MySQL安装包的目录,使用以下命令解压: ``` tar zxvf mysql-xxx.tar.gz ``` 其中,xxx为你下载的MySQL安装包的本号。 3. 解压完成后,进入解压后的目录,使用以下命令创建MySQL安装目录和数据目录: ``` sudo mkdir -p /usr/local/mysql sudo mkdir -p /data/mysql ``` 其中,/usr/local/mysqlMySQL安装目录,/data/mysqlMySQL的数据目录。 4. 进入解压后的目录,使用以下命令复制MySQL安装文件至指定的安装目录: ``` sudo cp -R ./mysql-xxx/* /usr/local/mysql/ ``` 5. 接下来需要设置MySQL的数据目录和配置文件的位置。进入MySQL安装目录,使用以下命令复制默认的配置文件至指定位置: ``` sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf ``` 6. 使用以下命令修改MySQL的配置文件,将数据目录设置为之前创建的目录: ``` sudo vi /etc/my.cnf ``` 将datadir字段的值修改为:/data/mysql 7. 创建MySQL的系统用户和用户组,使用以下命令: ``` sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql ``` 8. 修改MySQL安装目录和数据目录的权限,使用以下命令: ``` sudo chown -R mysql:mysql /usr/local/mysql sudo chown -R mysql:mysql /data/mysql ``` 9. 最后,初始化MySQL并启动服务,使用以下命令: ``` sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql sudo /etc/init.d/mysql start ``` 初始化完成后,你可以通过`mysql -u root -p`命令进入MySQL,并进行进一步的配置和使用。 以上就是在Linux系统中离线安装MySQL简单步骤。请根据你的具体环境和需求进行相应的调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值