Linux安装Mysql5.7详细过程(源码安装)

Linux安装Mysql5.7详细过程(源码安装)

Linux安装Mysql详细过程(源码安装)
第一步:下载
进入到mysql官网下载自己对应版本的mysql,
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
我这里下载mysql-5.7.29-linux-glibc2.12-x86_64.tar版本
将下载好的源码压缩包上传至:/usr/local/mysql

也可以进入linux后用命令下载

[root@zyq mysql]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar

第二步:检查卸载
安装前,我们可以检测系统是否自带安装 MySQL:

[root@zyq mysql]# rpm -qa | grep mysql

如有,类似 mysql-libs-5.1.52-1.el6_0.1.x86_64那可以选择进行卸载:

rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64  // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64  // 强力删除模式,

如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
检查否存在 mariadb 数据库,如有,卸载之,卸载同上

[root@zyq mysql]# rpm -qa | grep mariadb

如有,类似mariadb-libs-5.5.56-2.el7.x86_64
则 卸载rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

第三步 安装
安装源文件版本:mysql-5.7.29-linux-glibc2.12-x86_64.tar

进入安装包 cd /usr/local/mysql 解压源码文件,并重新命名mysql-5.7

[root@zyq mysql]# ll
总用量 1048512
drwxr-xr-x. 9 root root       129 221 21:30 mysql-5.7.29-linux-glibc2.12-x86_64
-rw-------. 1 root root 650215424 221 21:34 mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
[root@zyq mysql]# mv  mysql-5.7.29-linux-glibc2.12-x86_64 mysql-5.7
[root@zyq mysql]# ll
总用量 649172
drwxr-xr-x. 9 root root       129 221 21:30 mysql-5.7
-rw-r--r--. 1 root root 664749587 221 16:55 mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

创建数据文件mkdir data

[root@zyq mysql]# mkdir data
[root@zyq mysql]# ll
总用量 649172
drwxr-xr-x. 2 root root         6 221 21:36 data
drwxr-xr-x. 9 root root       129 221 21:30 mysql-5.7
-rw-r--r--. 1 root root 664749587 221 16:55 mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

检查mysql组和用户是否存在,如无创建在这里插入代码片

[root@zyq mysql]# cat /etc/group | grep mysql
#类似
mysql:x:490:
[root@zyq mysql]# cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash

以上为存在的情况,如无,执行添加命令:groupadd mysql 和 useradd -r -g mysql mysql

[root@zyq mysql]# groupadd mysql
[root@zyq mysql]# useradd -r -g mysql mysql

#useradd -r参数表示mysql用户是系统用户,不可用于登录系统

将/usr/local/mysql/mysql-5.7的所有者及所属组改为mysql

[root@zyq mysql]# chown -R mysql.mysql /usr/local/mysql/mysql-5.7
[root@zyq mysql]# chown -R mysql.mysql /usr/local/mysql/data
[root@zyq mysql]# chown -R mysql /usr/local/mysql/data
[root@zyq mysql]# chown -R mysql /usr/local/mysql/mysql-5.7
[root@zyq mysql]# chmod -R 755 /usr/local/mysql/mysql-5.7

在/usr/local/mysql/mysql-5.7/support-files目录下创建my_default.cnf

[root@zyq support-files]# vim my_default.cnf

修修或者添加一下内容

[client]
no-beep
socket = /tmp/mysql.sock
# pipe
# socket=0.0
port=3306
[mysql]
default-character-set=utf8
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /usr/local/mysql/mysql-5.7
datadir = /usr/local/mysql/data
port=3306
log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid
#skip-grant-tables
skip-name-resolve
socket = /tmp/mysql.sock
character-set-server=utf8
default-storage-engine=INNODB
explicit_defaults_for_timestamp = true
# Server Id.
server-id=1
max_connections=2000
query_cache_size=0
table_open_cache=2000
tmp_table_size=246M
thread_cache_size=300
#限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用
thread_stack = 192k
key_buffer_size=512M
read_buffer_size=4M
read_rnd_buffer_size=32M
innodb_data_home_dir = /usr/local/mysql/data
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=16M
innodb_buffer_pool_size=256M
innodb_log_file_size=128M
innodb_thread_concurrency=128
innodb_autoextend_increment=1000
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
join_buffer_size=128M
max_allowed_packet=1024M
max_connect_errors=2000
open_files_limit=4161
query_cache_type=0
sort_buffer_size=32M
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
#批量插入数据缓存大小,可以有效提高插入效率,默认为8M
bulk_insert_buffer_size = 64M
interactive_timeout = 120
wait_timeout = 120
log-bin-trust-function-creators=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

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

拷贝my_default.cnf文件到/etc/my.cnf如果提示是否覆盖,y

[root@zyq support-files]# cp my_default.cnf /etc/my.cnf              
cp:是否覆盖"/etc/my.cnf"? y
[root@zyq support-files]# 

修改mysql.server文件,进入/usr/local/mysql/mysql-5.7/support-files目录修改mysql.server,修改内容如下找到mysqld_pid_file_path=修改MySQL的安装路径及数据路径

# The following variables are only set for letting mysql.server find things.

# Set some defaults
mysqld_pid_file_path=
if test -z "$basedir"
then
  basedir=/usr/local/mysql/mysql-5.7
  bindir=/usr/local/mysql/mysql-5.7/bin
  if test -z "$datadir"
  then
    datadir=/usr/local/mysql/data
  fi
  sbindir=/usr/local/mysql/mysql-5.7/bin
  libexecdir=/usr/local/mysql/mysql-5.7/bin
else
  bindir="$basedir/bin"
  if test -z "$datadir"
  then
    datadir="$basedir/data"
  fi
  sbindir="$basedir/sbin"
  libexecdir="$basedir/libexec"
fi

把启动脚本放到开机初始化目录进入/usr/local/mysql/mysql-5.7/support-files目录下执行cp mysql.server /etc/init.d/mysql

[root@zyq support-files]# cp mysql.server /etc/init.d/mysql
[root@zyq support-files]# 

初始化 mysqld 进入到/usr/local/mysql/mysql-5.7执行./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7/ --datadir=/usr/local/mysql/data/

[root@zyq mysql-5.7]#./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7/ --datadir=/usr/local/mysql/data/

初始化完成之后进入/usr/local/mysql/data,查看cat mysqld.log日志找出随机生成mysql数据库登录的临时密码

[root@zyq data]# cat mysqld.log 
2020-02-21T14:02:25.896593Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-02-21T14:02:25.896962Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2020-02-21T14:02:25.896973Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2020-02-21T14:02:26.710078Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-02-21T14:02:26.791482Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-02-21T14:02:26.902798Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: caa64450-54b2-11ea-8c3c-000c2923d700.
2020-02-21T14:02:26.904801Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-02-21T14:02:28.091585Z 0 [Warning] CA certificate ca.pem is self signed.
2020-02-21T14:02:28.293469Z 1 [Note] A temporary password is generated for root@localhost: s7kh.#l8%O6p
[root@zyq data]# 

找出临时密码:2020-02-21T14:02:28.293469Z 1 [Note] A temporary password is generated for root@localhost: s7kh.#l8%O6p密码就是:s7kh.#l8%O6p 记住密码随后登陆需要

启动mysql服务service mysql start

[root@zyq support-files]# service mysql start
Starting MySQL.. SUCCESS! 

进入/usr/local/mysql/mysql-5.7/bin执行./mysql -u root -p登录mysql,密码为初始密码
``java
[root@zyq bin]# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.29

Copyright © 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

修改密码:set password=password('密码');
```java
mysql> set password=password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

授权root权限使得外部地址使用root登陆grant all privileges on . to root@’%’ identified by ‘123456’;

mysql> grant all privileges on *.* to root@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

刷新权限:flush privileges;
``java
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

至此mysql源码安装已完成


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以按照以下步骤安装MySQL 5.7:1. 下载MySQL源码:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz 2. 解压源码:tar -xzvf mysql-5.7.21.tar.gz 3. 安装MySQL:cd mysql-5.7.21 && ./configure && make && make install 4. ### 回答2: 要在Linux安装MySQL 5.7,可以按照以下步骤进行操作: 1. 打开终端,并以root用户身份登录系统。 2. 确认系统已经安装了软件包管理工具yum。 3. 使用以下命令更新已安装的软件包: ``` yum update ``` 4. 添加MySQL存储库。你可以在MySQL官方网站上找到适用于你系统的存储库安装指南。 5. 从存储库中安装MySQL 5.7: ``` yum install mysql-server ``` 6. 安装完成后,使用以下命令启动MySQL服务: ``` systemctl start mysqld ``` 7. 运行以下命令以使MySQL服务在系统启动时自动启动: ``` systemctl enable mysqld ``` 8. 运行以下命令初始化MySQL: ``` mysql_secure_installation ``` 9. 在初始化过程中,你将被要求设置root用户的密码并进行一些其他配置。按照提示进行操作即可。 10. 完成初始化后,你可以使用以下命令登录到MySQL控制台: ``` mysql -u root -p ``` 11. 输入刚设置的root密码,即可登录到MySQL控制台。 现在,你已经成功在Linux安装MySQL 5.7,并且可以使用它来创建和管理数据库。 ### 回答3: 要在Linux安装MySQL 5.7,可以按照以下步骤进行操作: 1. 首先,打开终端并以root用户身份登录系统。 2. 更新系统软件包管理器的软件源列表,可以使用以下命令: ``` sudo apt update ``` 3. 安装MySQL服务器软件包,可以使用以下命令: ``` sudo apt install mysql-server ``` 4. 安装过程中,系统会提示你设置root用户的密码。请根据提示设置一个安全的密码,并确保记住它。 5. 完成安装后,启动MySQL服务,可以使用以下命令: ``` sudo systemctl start mysql ``` 6. 验证MySQL服务是否已经成功启动,可以使用以下命令: ``` sudo systemctl status mysql ``` 如果服务正在运行,你将看到一条类似"active (running)"的消息。 7. 接下来,为MySQL服务器进行安全设置,可以使用以下命令: ``` sudo mysql_secure_installation ``` 按照提示来执行一系列安全配置步骤,包括删除匿名用户、禁止root远程登录等。 8. 安装完成后,你可以使用以下命令登录MySQL 5.7: ``` sudo mysql -u root -p ``` 然后输入之前设置的root密码即可进入MySQL命令行界面。 这些是在Linux安装MySQL 5.7的基本步骤。请注意,具体步骤可能因所使用的Linux发行版而有所不同。在安装过程中,如果遇到任何问题,请仔细读取终端上的错误消息并尝试解决。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值