centos、ubuntu、debian安装mysql5.7

6 篇文章 0 订阅

centos(亲测centos 7.6)

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

如果下载不了可以到这里下载https://download.csdn.net/download/zhangenter/12034089

yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

修改默认编码

character-set-server=utf8

如果需要修改数据存放目录,修改my.cnf

datadir=/data/mysql

启动服务

systemctl start mysqld.service

如果修改数据目录后启动服务可以有如下报错

systemctl start mysqld.service

Job for mysqld.service failed because the control process exited with
error code. See “systemctl status mysqld.service” and “journalctl -xe”
for details.

查看日志文件/var/log/mysqld.log可能是如下错误

2019-12-10T07:27:38.255234Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation.
2019-12-10T07:27:38.255255Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.
2019-12-10T07:27:38.255266Z 0 [ERROR] InnoDB: os_file_get_status() failed on './ibdata1'. Can't determine file permissions
2019-12-10T07:27:38.255281Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2019-12-10T07:27:38.855951Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2019-12-10T07:27:38.855996Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2019-12-10T07:27:38.856009Z 0 [ERROR] Failed to initialize builtin plugins.
2019-12-10T07:27:38.856014Z 0 [ERROR] Aborting

是文件权限造成,首先给mysql权限

chown -R mysql:mysql /data/mysql

查看应用模式,如果是严格模式(Enforcing)就修改为宽容模式

getenforce

Enforcing

setenforce 0
getenforce

Permissive

再次启动服务,服务启动成功。

查看服务状态

systemctl status mysqld.service

● mysqld.service - MySQL Server Loaded: loaded
(/usr/lib/systemd/system/mysqld.service; enabled; vendor preset:
disabled) Active: active (running) since Tue 2019-12-10 07:50:22
UTC; 4min 41s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 32238 ExecStart=/usr/sbin/mysqld --daemonize
–pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 32220
ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited,
status=0/SUCCESS) Main PID: 32241 (mysqld) CGroup:
/system.slice/mysqld.service
└─32241 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

查看初始密码,可以看到下面的密码是)J>7IZow<Mx6

grep "password" /var/log/mysqld.log 

2019-12-10T07:23:46.609333Z 1 [Note] A temporary password is generated
for root@localhost: )J>7IZow<Mx6

进入mysql

mysql -uroot -p")J>7IZow<Mx6"

mysql: [Warning] Using a password on the command line interface can be
insecure. Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 Server version: 5.7.28

Copyright © 2000, 2019, 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>

修改mysql的root用户的密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'My_pwd12';
Query OK, 0 rows affected (0.00 sec)

(密码必须至少8位,并且含大小写、特殊字符及数字)否则会提示

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

如果觉得密码强度要求太高,需要改低强度,可以看下密码要求

mysql> SHOW VARIABLES LIKE '%password%';
+----------------------------------------+-----------------+
| Variable_name                          | Value           |
+----------------------------------------+-----------------+
| default_password_lifetime              | 0               |
| disconnect_on_expired_password         | ON              |
| log_builtin_as_identified_by_password  | OFF             |
| mysql_native_password_proxy_users      | OFF             |
| old_passwords                          | 0               |
| report_password                        |                 |
| sha256_password_auto_generate_rsa_keys | ON              |
| sha256_password_private_key_path       | private_key.pem |
| sha256_password_proxy_users            | OFF             |
| sha256_password_public_key_path        | public_key.pem  |
| validate_password_check_user_name      | OFF             |
| validate_password_dictionary_file      |                 |
| validate_password_length               | 8               |
| validate_password_mixed_case_count     | 1               |
| validate_password_number_count         | 1               |
| validate_password_policy               | MEDIUM          |
| validate_password_special_char_count   | 1               |
+----------------------------------------+-----------------+
17 rows in set (0.00 sec)

将validate_password_length可将密码的长度要求改小
将validate_password_policy改为low,密码可以比较简单

mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_policy=low;
Query OK, 0 rows affected (0.00 sec)

再次设置密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
Query OK, 0 rows affected (0.00 sec)

ubuntu(亲测16.04和18.04)

从mysql官网找到debian的mysql安装包url

wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

如果下载不了可以到这里下载https://download.csdn.net/download/zhangenter/12034092

配置下载的包

dpkg -i mysql-apt-config_0.8.12-1_all.deb

弹出mysql数据源配置的图形界面,选择ok继续。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更新源

apt-get update

如果这是提示
The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY xxxxxxxx

可以使用下面语句添加下

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxxxxxxx

安装更新包

apt-get install mysql-server

图形界面中设置root的密码xxx
在这里插入图片描述
mysql已经可以用了service mysql status可以看到mysql服务正常允许,如果需要修改mysql的数据目录,可以参考以下内容:
1.停止服务

service mysql stop

2.vi /etc/mysql/mysql.conf.d/mysqld.cnf

datadir         = /var/lib/mysql

改为自己的目录,比如/data/mysql

datadir         = /data/mysql

3.创建文件夹/data/mysql

mkdir -p /data/mysql/

将目录权限给mysql

chown -R mysql:mysql /data/mysql

启动服务

service mysql start

这时候可能看到如下报错

Job for mysql.service failed because the control process exited with error code.
See “systemctl status mysql.service” and “journalctl -xe” for details.

打开日志/var/log/mysql/error.log查看,可能看到里面的错误信息是这样的

2019-12-15T12:56:54.127873Z 0 [ERROR] InnoDB: The innodb_system data file ‘ibdata1’ must be writable
2019-12-15T12:56:54.127952Z 0 [ERROR] InnoDB: The innodb_system data file ‘ibdata1’ must be writable
2019-12-15T12:56:54.127962Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2019-12-15T12:56:54.728747Z 0 [ERROR] Plugin ‘InnoDB’ init function returned error.
2019-12-15T12:56:54.728819Z 0 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
2019-12-15T12:56:54.728826Z 0 [ERROR] Failed to initialize builtin plugins.
2019-12-15T12:56:54.728829Z 0 [ERROR] Aborting

这是和centos类似的文件权限问题,修改文件 /etc/apparmor.d/usr.sbin.mysqld
参考原始文件有下面两行

# Allow data dir access
  /var/lib/mysql/ r,
  /var/lib/mysql/** rwk,

增加两行

# Allow data dir access
  /data/mysql/ r,
  /data/mysql/** rwk,

保存文件后重启下服务

service apparmor restart

这时候再去执行service mysql start就没有问题了。
不过这时候可以看到,因为是新目录,之前设置的root密码已经不在了。

当然如果是移动旧的库,也可以将/var/lib/mysql目录拷到/data下(安全起见建议先拷贝后面再删除/var/lib/mysql目录里那些旧的库)

cp -rp /var/lib/mysql /data/

同样需要修改/etc/apparmor.d/usr.sbin.mysqld文件,后才能起mysql服务

debian(亲测Debian 9.11 (stretch))

apt-get install lsb-release

从mysql官网找到debian的mysql安装包url

wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

如果下载不了可以到这里下载https://download.csdn.net/download/zhangenter/12034092

配置下载的包

dpkg -i mysql-apt-config_0.8.12-1_all.deb

在这里插入图片描述
更新源

apt-get update

安装更新包

apt-get install mysql-server

图形界面中设置root的密码xxx

等安装结束,mysql已经可以用了,service mysql status可以看到mysql服务正常允许,如果需要修改mysql的数据目录,可以参考以下内容:
1.停止服务

service mysql stop

2.vi /etc/mysql/mysql.conf.d/mysqld.cnf

datadir         = /var/lib/mysql

改为自己的目录,比如/data/mysql

datadir         = /data/mysql

3.创建文件夹/data/mysql

mkdir -p /data/mysql/

将目录权限给mysql

chown -R mysql:mysql /data/mysql

当然如果是移动旧的库,也可以将/var/lib/mysql目录拷到/data下(安全起见建议先拷贝后面再删除/var/lib/mysql目录里那些旧的库)

cp -rp /var/lib/mysql /data/

4.启动服务

service mysql start
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Linux安装MySQL 5.7可以按照以下步骤进行: 1. 下载MySQL 5.7的安装包,可以从MySQL官网下载。 2. 解压安装包,进入解压后的目录。 3. 执行以下命令安装MySQL: sudo rpm -ivh mysql-community-common-5.7.33-1.el7.x86_64.rpm sudo rpm -ivh mysql-community-libs-5.7.33-1.el7.x86_64.rpm sudo rpm -ivh mysql-community-client-5.7.33-1.el7.x86_64.rpm sudo rpm -ivh mysql-community-server-5.7.33-1.el7.x86_64.rpm 4. 安装完成后,启动MySQL服务: sudo systemctl start mysqld 5. 配置MySQL的root用户密码: sudo mysql_secure_installation 6. 进入MySQLmysql -u root -p 7. 输入root用户密码,即可进入MySQL。 以上就是在Linux安装MySQL 5.7的步骤。 ### 回答2: 在Linux安装MySQL 5.7需要按照以下步骤进行操作: 1. 首先,确保已经安装了适合系统的apt或者yum包管理器,这样可以方便地下载和安装MySQL。对于Debian/Ubuntu系统,可以使用apt-get命令,对于CentOS/RHEL系统,可以使用yum命令。 2. 打开终端并以root身份登录系统。 3. 使用以下命令来更新软件包列表,确保始终使用最新版本的软件包: 对于Debian/Ubuntu系统: sudo apt-get update 对于CentOS/RHEL系统: sudo yum update 4. 下载并安装MySQL 5.7的软件源: 对于Debian/Ubuntu系统: sudo apt-get install mysql-server-5.7 对于CentOS/RHEL系统: sudo yum install mysql-server 5. 安装过程中会提示输入MySQL的root密码,输入并确认密码后继续执行安装安装过程可能需要一些时间,等待安装完成。 6. 安装完成后,MySQL服务会自动启动。使用以下命令来检查MySQL服务的状态: sudo service mysql status 7. 若要启动MySQL服务,可以使用以下命令: sudo service mysql start 8. 若要停止MySQL服务,可以使用以下命令: sudo service mysql stop 9. 若要重启MySQL服务,可以使用以下命令: sudo service mysql restart 10. 若要测试MySQL是否成功安装,可以使用以下命令登录MySQLmysql -u root -p 11. 输入之前设置的root密码,如果成功登录,则表示MySQL已经成功安装。 请注意,以上步骤仅适用于在已经安装了apt或yum包管理器的Debian/UbuntuCentOS/RHEL系统上安装MySQL 5.7。如果使用其他Linux发行版,请根据其官方文档或互联网上的指导进行相应操作。 ### 回答3: 在Linux系统中安装MySQL 5.7可以按照以下步骤进行: 1. 打开终端,以root用户身份登录系统。 2. 执行以下命令来更新系统软件包的列表和安装程序: ``` sudo apt update sudo apt upgrade ``` 3. 安装MySQL Server软件包: ``` sudo apt install mysql-server ``` 4. 安装过程中,会提示你设置root密码。输入一个强密码并确认。 5. 安装完成后,运行以下命令来启动MySQL服务: ``` sudo systemctl start mysql ``` 6. 运行以下命令来配置MySQL安全性设置: ``` sudo mysql_secure_installation ``` 按照命令行提示进行安全性设置,例如删除测试数据库、移除匿名用户访问等。 7. 重启MySQL服务: ``` sudo systemctl restart mysql ``` 8. 验证MySQL是否成功安装并运行。可以执行以下命令来检查MySQL服务状态: ``` sudo systemctl status mysql ``` 如果服务状态显示为"active (running)",则表示MySQL已成功安装并正在运行。 9. 登录MySQL服务器: ``` mysql -u root -p ``` 输入之前设置的root密码来登录MySQL10. 现在你已经成功安装MySQL 5.7,并可以开始使用它。 请注意,以上步骤适用于基于DebianUbuntuLinux发行版。对于其他Linux发行版,可能需要使用其他命令或工具来安装MySQL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冰风漫天

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

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

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

打赏作者

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

抵扣说明:

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

余额充值