镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

一、下载mysql8.0安装包

1、在local创建mysql文件夹

  1. cd /usr/local
  2. mkdir mysql
  3. cd mysql

2、使用wget下载mysql8.0的xz安装包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

二、解压mysql8.0安装包

1、解压

tar -xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

2、重命名解压后的mysql文件夹(名字太长了)

mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql8.0

3、创建data存储文件

  1. cd mysql8.0
  2. mkdir data

三、创建用户和用户组,并赋予权限

1、创建用户和用户组

  1. groupadd mysql
  2. useradd -g mysql mysql

2、给用户赋予权限

chown -R mysql.mysql /usr/local/mysql/mysql8.0

四、初始化mysql信息

1、切换到mysql8.0安装路径下

Tip:绝对路径:cd /usr/local/mysql/mysql8.0/bin

cd bin

2、初始化mysql基本信息

./mysqld —user=mysql —basedir=/usr/local/mysql/mysql8.0 —datadir=/usr/local/mysql/mysql8.0/data/ —initialize

3、获取到临时mysql密码

file

五、添加mysqld服务到系统

1、将mysqld服务添加到系统中

  1. cd /usr/local/mysql/mysql8.0
  2. cp -a ./support-files/mysql.server /etc/init.d/mysql

2、授权以及添加服务

  1. chmod +x /etc/init.d/mysql
  2. chkconfig --add mysql

3、mysql5.7以后就没有my.cnf了,所以我们创建一个。(个人觉得方便一些)

sudo vim my.cnf
```

Example MySQL config file for small systems.

This is for a system with little memory (<= 64M) where MySQL is only used

from time to time and it’s important that the mysqld daemon

doesn’t use much resources.

MySQL programs look for option files in a set of

locations which depend on the deployment platform.

You can copy this option file to one of those

locations. For information about these locations, see:

http://dev.mysql.com/doc/mysql/en/option-files.html

In this file, you can use all long options that a program supports.

If you want to know which options a program supports, run the program

with the “—help” option.

The following options will be passed to all MySQL clients

[client]
default-character-set=utf8

password = k0Ui&wV(Z3yt

port = 3306
socket = /tmp/mysql.sock

Here follows entries for some specific programs

The MySQL server

[mysqld]

配置mysql的文件夹 和 mysql data目录

basedir=/usr/local/mysql/mysql8.0
datadir=/usr/local/mysql/mysql8.0/data
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

Don’t listen on a TCP/IP port at all. This can be a security enhancement,

if all processes that need to connect to mysqld run on the same host.

All interaction with mysqld must be made via Unix sockets or named pipes.

Note that using this option without enabling named pipes on Windows

(using the “enable-named-pipe” option) will render mysqld useless!

skip-networking

server-id = 1

Uncomment the following if you want to log updates

log-bin=mysql-bin

binary logging format - mixed recommended

binlog_format=mixed

Causes updates to non-transactional engines using statement format to be

written directly to binary log. Before using this option make sure that

there are no dependencies between transactional and non-transactional

tables such as in the statement INSERT INTO t_myisam SELECT * FROM

t_innodb; otherwise, slaves may diverge from the master.

binlog_direct_non_transactional_updates=TRUE

Uncomment the following if you are using InnoDB tables

innodb_data_home_dir = /usr/local/mysql/data

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = /usr/local/mysql/data

You can set .._buffer_pool_size up to 50 - 80 %

of RAM but beware of setting memory usage too high

innodb_buffer_pool_size = 16M

innodb_additional_mem_pool_size = 2M

Set .._log_file_size to 25 % of buffer pool size

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

Remove the next comment character if you are not familiar with SQL

safe-updates

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout
```
*设置my.cnf权限

sudo chmod 664 /etc/my.cnf

4、启动mysql服务

service mysql start

如果出现下面报错

file

解决

将/var/lock/subsys/下mysql文件删除

5、查看mysql服务状态

service mysql status

6、将mysql命令添加到服务

ln -s /usr/local/mysql/mysql8.0/bin/mysql /usr/bin

六、登录mysql

1、登录 密码使用之前随机生成的密码

mysql mysql -uroot -p

file

2、修改管理员密码 其中123456是新的密码自己设置

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

file

3、重新加载缓存,使密码生效

flush privileges;

4、退出mysql,用新密码尝试登录管理员

七、修改mysql配置,使其可以用工具远程登录

update user set host=’%’ where user=’root’;

flush privileges;

云服务器不能远程连接mysql,解决

如果是买的云服务器,例如:阿里云服务器的,请到设置mysql(3306)安全策略

file

总结

到此就已经完成了在Linux中mysql8.0的所有安装。希望对大家有所帮助。

本文转自:https://blog.csdn.net/qq_45554167/article/details/121907007

更多相关文章

  1. 蓝牙搜索显示结果到ListView(十分精简)
  2. Android(安卓)AIDL整理
  3. 基于TCP/IP协议的Java服务端与Android客户端的Socket通信
  4. Android创建自定义键盘
  5. android--创建快捷方式和判断是否已经创建
  6. android从服务器下载文件(php+apache+win7+MySql)
  7. Android使用ViewPager+Fragment实现定制TabHost选项卡效果
  8. JavaScript 对象创建的3种方法
  9. Android系统各种类型的service刨根解读

随机推荐

  1. 关于接口类型的10篇课程推荐
  2. 用微信PC端dll库实现截图的实例代码
  3. asp.net core实例教程之项目结构
  4. 有关ListView的文章推荐10篇
  5. .Net MVC+Data Table实现分页+排序的实例
  6. asp.net core实例教程之配置
  7. 有关DetailView的文章推荐3篇
  8. 有关DetailView的文章推荐nnnnnn篇
  9. 过滤器详解的10篇内容推荐
  10. 有关ProgressBar的文章推荐10篇