ubuntu mysql 二进制安装_ubuntu18.04手动安装二进制MySQL8.0

本文详细指导如何从wget下载MySQL 8.0源码包,设置my.cnf,解决初始化时datadir文件夹有文件的问题,包括临时登录密码获取,以及后续的数据库服务启动、权限管理和安全实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

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

sudo mv mysql-8.0.13-linux-glibc2.12-x86_64 /var/mysql

然后新建一个文件/var/mysql/data_3306/my.cnf:

[mysqld]

port=3306

datadir=/var/mysql/data_3306

log_error=/var/mysql/data_3306/error.log

basedir=/var/mysql

然后运行如下命令启动MySQL服务:

var/mysql/bin/mysqld --defaults-file=/var/mysql/data_3306/my.cnf --initialize --user=mysql

发现出错了,报错信息如下:

[email protected]:/var/mysql/data_3306$ cat error.log

2019-01-14T10:59:46.054629Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)

2019-01-14T10:59:46.054690Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)

2019-01-14T10:59:46.054946Z 0 [System] [MY-013169] [Server] /var/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 3621

2019-01-14T10:59:46.056585Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.

2019-01-14T10:59:46.056652Z 0 [ERROR] [MY-013236] [Server] Newly created data directory /var/mysql/data_3306/ is unusable. You can safely remove it.

2019-01-14T10:59:46.056661Z 0 [ERROR] [MY-010119] [Server] Aborting

2019-01-14T10:59:46.056743Z 0 [System] [MY-010910] [Server] /var/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.13) MySQL Community Server - GPL.

2019-01-14T11:02:07.365206Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)

2019-01-14T11:02:07.365266Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)

2019-01-14T11:02:07.365524Z 0 [System] [MY-013169] [Server] /var/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 3660

2019-01-14T11:02:07.367698Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.

2019-01-14T11:02:07.367779Z 0 [ERROR] [MY-013236] [Server] Newly created data directory /var/mysql/data_3306/ is unusable. You can safely remove it.

2019-01-14T11:02:07.367797Z 0 [ERROR] [MY-010119] [Server] Aborting

2019-01-14T11:02:07.368023Z 0 [System] [MY-010910] [Server] /var/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.13) MySQL Community Server - GPL.

2019-01-14T11:02:25.091876Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)

2019-01-14T11:02:25.091947Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)

2019-01-14T11:02:25.092216Z 0 [System] [MY-013169] [Server] /var/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 3661

2019-01-14T11:02:25.093893Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.

2019-01-14T11:02:25.093941Z 0 [ERROR] [MY-013236] [Server] Newly created data directory /var/mysql/data_3306/ is unusable. You can safely remove it.

2019-01-14T11:02:25.093951Z 0 [ERROR] [MY-010119] [Server] Aborting

2019-01-14T11:02:25.094040Z 0 [System] [MY-010910] [Server] /var/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.13) MySQL Community Server - GPL.

2019-01-14T11:03:34.555652Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)

2019-01-14T11:03:34.555710Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)

2019-01-14T11:03:34.555964Z 0 [System] [MY-013169] [Server] /var/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 3676

2019-01-14T11:03:34.557598Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.

2019-01-14T11:03:34.557644Z 0 [ERROR] [MY-013236] [Server] Newly created data directory /var/mysql/data_3306/ is unusable. You can safely remove it.

2019-01-14T11:03:34.557654Z 0 [ERROR] [MY-010119] [Server] Aborting

2019-01-14T11:03:34.557738Z 0 [System] [MY-010910] [Server] /var/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.13) MySQL Community Server - GPL.

发现是因为datadir对应的目录里面有文件的原因造成的,修改一下datadir参数,my.cnf信息如下:

[mysqld]

port=3306

datadir=/var/mysql/data_3306

log_error=/var/mysql/data_3306/error.log

basedir=/var/mysql

发现运行成功(通过echo $?判断)。

然后启动mysqld服务:

var/mysql/bin/mysqld --defaults-file=/var/mysql/data_3306/my.cnf --user=mysql

执行之后,在目录/var/mysql/data_3306/data/中生成的目录及文件如下:

[email protected]:/var/mysql/data_3306$ ls -l /var/mysql/data_3306/data/

总用量 155712

-rw-r----- 1 zifeiy zifeiy 56 1月 14 19:06 auto.cnf

-rw------- 1 zifeiy zifeiy 1676 1月 14 19:06 ca-key.pem

-rw-r--r-- 1 zifeiy zifeiy 1112 1月 14 19:06 ca.pem

-rw-r--r-- 1 zifeiy zifeiy 1112 1月 14 19:06 client-cert.pem

-rw------- 1 zifeiy zifeiy 1676 1月 14 19:06 client-key.pem

-rw-r----- 1 zifeiy zifeiy 5785 1月 14 19:06 ib_buffer_pool

-rw-r----- 1 zifeiy zifeiy 12582912 1月 14 19:06 ibdata1

-rw-r----- 1 zifeiy zifeiy 50331648 1月 14 19:06 ib_logfile0

-rw-r----- 1 zifeiy zifeiy 50331648 1月 14 19:06 ib_logfile1

drwxr-x--- 2 zifeiy zifeiy 4096 1月 14 19:06 ‘#innodb_temp‘

drwxr-x--- 2 zifeiy zifeiy 4096 1月 14 19:06 mysql

-rw-r----- 1 zifeiy zifeiy 25165824 1月 14 19:06 mysql.ibd

drwxr-x--- 2 zifeiy zifeiy 4096 1月 14 19:06 performance_schema

-rw------- 1 zifeiy zifeiy 1676 1月 14 19:06 private_key.pem

-rw-r--r-- 1 zifeiy zifeiy 452 1月 14 19:06 public_key.pem

-rw-r--r-- 1 zifeiy zifeiy 1112 1月 14 19:06 server-cert.pem

-rw------- 1 zifeiy zifeiy 1676 1月 14 19:06 server-key.pem

drwxr-x--- 2 zifeiy zifeiy 4096 1月 14 19:06 sys

-rw-r----- 1 zifeiy zifeiy 10485760 1月 14 19:06 undo_001

-rw-r----- 1 zifeiy zifeiy 10485760 1月 14 19:06 undo_002

一开始使用

/var/mysql/bin/mysql -uroot -h127.0.0.1 -P3306

登陆MySQL汇报错:

[email protected]:/var/mysql/data_3306$ /var/mysql/bin/mysql -uroot -h127.0.0.1 -P3306

ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘127.0.0.1‘ (111)

但是我们可以在/var/mysql/data_3306/error.log中看到MySQL服务器提供给我们的临时登陆密码:

[email protected]:/var/mysql/data_3306$ tail -n 2 /var/mysql/data_3306/error.log

2019-01-14T11:06:47.744852Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]: *C4gk*8%3lwf

2019-01-14T11:06:48.411733Z 0 [System] [MY-013170] [Server] /var/mysql/bin/mysqld (mysqld 8.0.13) initializing of server has completed

重新登陆,发现登陆成功:

[email protected]:/var/mysql/bin$ ./mysql -uroot -h127.0.0.1 -P3306 -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 9

Server version: 8.0.13

Copyright (c) 2000, 2018, 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>

赶快修改密码(我这里改成password):

alter user [email protected] identified by ‘password‘;

为了方便,可以新建一个脚本文件~/start_mysqld.sh,如下:

echo "/var/mysql/bin/mysqld --defaults-file=/var/mysql/data_3306/my.cnf --user=mysql" > ~/start_mysqld.sh

chmod a+x ~/start_mysqld.sh

以后就可以通过bash ~/start_mysqld.sh来运行mysqld服务了。

原文:https://www.cnblogs.com/zifeiy/p/10268739.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值