Ubuntu 安装MySQL 8.0.23及以上版本

首先如果当前linux中没有wget,那么我们可以考虑使用sudo apt-get install wget来安装wget命令


Ubuntu自带的源只能安装MySQL5.7版本,这里去MySQL官网安装MySQL8.0.23版本

登录MySQL官网

https://www.mysql.com/downloads/

点击“DOCUMENTATION”——“MySQL Server”——“Installing and Upgrading MySQL”——“2.5 Installing MySQL on Linux

点击:2.5.2 Installing MySQL on Linux Using the MySQL APT Repository

点击:A Quick Guide to Using the MySQL APT Repository.

点击:Steps for a Fresh Installation of MySQL

点击:https://dev.mysql.com/downloads/repo/apt/.

点击:Download

右键:No thanks, just start my download.  复制链接地址

在主机上wget 这个链接地址:配置deb文件链接

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

导入GPG密匙(我的版本8.0.23似乎并不要导入,如果你是8.0.28以上版本,应该考虑导入,其他未知)

sudo apt-key adv --keyserver keyserver.ubuntu.com--recv-keys 3A79BD29

注意MySQL8.0.28及更高版本包的KeylD为3A79BD29,如上所示。对于早期的MySQL版本,keylD是5072E1F5。使用不正确的密钥可能会导致密钥验证错误。

 

安装deb文件

ls
dpkg -i mysql-apt-config_0.8.23-1_all.deb

选第一项:TAB 到  OK处 回车

选mysql-8.0

选OK 再TAB 到 OK 回车

安装完成,会有报错,先忽略

执行apt-get update 更新

执行apt-get install mysql-server

选择y

输入密码

建议选择第二种兼容模式连接数据库,不然老终端设备可能无法兼容

安装配置完成,查看mysql服务状态

systemctl status mysql.service

安装完成。


配置安全设置:

输入

sudo mysql_secure_installation

询问是否对密码验证组件进行配置?Y 继续

Would you like to setup VALIDATE PASSWORD component?    #是否对密码验证组件进行配置

Press y|Y for Yes, any other key for No: Y    #是

There are three levels of password validation policy:    #这里有3个密码强度等级

LOW    Length >= 8    #密码8位
MEDIUM Length >= 8, numeric, mixed case, and special characters    #8位+数字+大小写字幕混合+特殊字符
STRONG Length >= 8, numeric, mixed case, special characters and dictionary        file    #Medium基础上+比对字典

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0    #0是低    1是种    2是高

是否移除匿名用户?

是否禁用root用户远程登陆?

是否移除测试数据库?

是否重载权限表?(其实是问你是否立刻生效)


 

原文:

root@Zabbix-Server:~# sudo mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: 

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Using existing password for root.

Estimated strength of the password: 50 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 
root@Zabbix-Server:~#

 


测试:本地连接数据库

root@Zabbix-Server:~# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.30 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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> show schemas;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.33 sec)

mysql> exit
Bye
root@Zabbix-Server:~#

MySQL数据库基础常用命令8.0版本适用

#查询数据库账户
select user, host from mysql.user;
#删除账户 'zabbix'
drop user 'zabbix'@'%';
#查询数据库
show databases;
#删除数据库zabbix;
drop database zabbix;
#修改账户密码
alter user 'zabbix'@'%' identified  by 'Qqqq1234.com';

ubuntu安装的mysql,默认密码保存在cat /etc/mysql/debian.cnf

root@JumpServer-DB-T01:~# cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = X588hw8sErd0PN3k
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = X588hw8sErd0PN3k
socket   = /var/run/mysqld/mysqld.sock
root@JumpServer-DB-T01:~#

ubuntu安装的mysql,默认配置文件保存在/etc/mysql/mysql.conf.d/mysqld.cnf

root@JumpServer-DB-P01:/opt# cat /etc/mysql/mysql.conf.d/mysqld.cnf
#
# The MySQL database server configuration file.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

[mysqld]
#
# * Basic Settings
#
user		= mysql
# pid-file	= /var/run/mysqld/mysqld.pid
# socket	= /var/run/mysqld/mysqld.sock
# port		= 3306
# datadir	= /var/lib/mysql


# If MySQL is running as a replication slave, this should be
# changed. Ref https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_tmpdir
# tmpdir		= /tmp
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address		= 0.0.0.0
mysqlx-bind-address	= 0.0.0.0
#
# * Fine Tuning

 

CentOS安装方法如下:

https://downloads.mysql.com/archives/community/

下载tar文件

posted @ 2022-08-30 11:42  Magiclala  阅读(1975)  评论(0编辑  收藏  举报