mysql linux (glibc版)安装记录

本文以ubuntu18.04、mysql-8.0.16-linux-glibc2.12-x86_64为例

一. 下载mysql

下载安装包

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

解压并移动至合适的文件夹

#创建文件夹并赋予权限
sudo mkdir -p /opt/enviroment/mysql
sudo chmod -R 777 /opt/enviroment/

#解压安装包并移动创建的目录
tar -xf /tmp/mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
mv /tmp/mysql-8.0.16-linux-glibc2.12-x86_64 /opt/enviroment/mysql/

#创建一个链接目录
sudo ln -s /opt/enviroment/mysql/mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql

二. 安装

为mysql创建用户和组

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

安装

#初始化mysql数据库
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql

控制台可能会输出:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
如果报错则需要安装:libaio

#安装libaio
sudo apt-get install libaio-dev

不同发行版可能会报不同的错误,根据报错提示安装对应缺失的库即可。
再次执行初始化mysql的命令:mysqld --initialize --user=mysql,输出一下内容:

2019-06-27T12:49:06.527888Z 0 [System] [MY-013169] [Server] /opt/environment/mysql/bin/mysqld (mysqld 8.0.16) initializing of server in progress as process 30216
2019-06-27T12:49:06.532284Z 0 [Warning] [MY-010122] [Server] One can only use the --user switch if running as root
2019-06-27T12:49:09.406373Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Oh=*DD!g&8AM

注意上面加粗的字体,即root用户的初始化密码

服务启动与停止

cd /usr/local/mysql/bin/
mysqld_safe --user=mysql &
#也可以这样启动服务
mysql.servr start
#停止服务
mysql.servr stop

三. 配置mysql

修改密码

登录进入mysql命令行客户端:

cd /usr/local/mysql/bin/
mysql -u root -p
#没有更改过密码时,键入初始化密码(注意每个人可能都不一样):Oh=*DD!g&8AM

执行如下sql:

--替换为自己的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';

开启外网访问

登录进入mysql命令行客户端:

cd /usr/local/mysql/bin/
mysql -u root -p

进入客户端后执行如下SQL:

use mysql;
select user,host from user;
--设置任何ip可访问
update user set host='%' where user='root';
--刷新设置
flush privileges;
exit;

记录慢SQL

创建my.cnf文件

sudo mkdir /usr/local/mysql/etc
sudo vim /usr/local/mysql/etc/my.cnf

键入如下配置:

[mysqld]
#开启慢日志[0:ON,1:OFF]
slow_query_log = 1
#慢日志存放位置
slow_query_log_file = /usr/local/mysql/data/query-slow.log
#慢查询时间设置为1秒
long_query_time = 1
#优先用文件记录
log_output = 'FILE,TABLE'
#记录不走索引的SQL
#log_queries_not_using_indexes = 1
#最大连接数1000(老版本)
max_connections= 1000
#最大连接数1000(新版本)
mysqlx_max_connections = 1000
max_user_connections= 1000
发布了17 篇原创文章 · 获赞 9 · 访问量 6523

猜你喜欢

转载自blog.csdn.net/liuyanglglg/article/details/93914105
今日推荐