ubuntu24.04安装mysql 5.7.44版本
1.上传安装包到tmp
2.解压安装包文件
cd /tmp
tar xzvf mysql-5.7.44-el7-x86_64.tar.gz
mv mysql-5.7.44-el7-x86_64/ mysql
3.创建mysql用户组
groupadd mysql
useradd mysql -g mysql
4.移动文件
mv /tmp/mysql /usr/local/
mkdir /usr/local/mysql/data
cd /usr/local
chmod -R 755 mysql/
chown -R mysql:mysql mysql/
5.安装并初始化mysql,记住命令行末尾的密码
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
如果报这个错误:
解决办法:
sudo apt install numactl libaio1t64 -y
如果还不行,就需要手动下载,然后进行安装:
curl -O http://launchpadlibrarian.net/646633572/libaio1_0.3.113-4_amd64.deb
sudo dpkg -i libaio1_0.3.113-4_amd64.deb
最后成功:
6.创建软链接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin
在Ubuntu中,需要使用update-rc.d
命令来更新init系统,以便在系统启动时自动启动mysql
服务。执行以下命令:
sudo update-rc.d mysql defaults
7.启动mysql服务
service mysql start
查看状态命令:
service mysql status
停止命令:
service mysql stop
重启命令:
service mysql restart
8.登陆mysql,并修改密码
mysql -u root -p
如果报这个错误:
查询系统中版本:
find / -name libtinfo*
然后替换:
sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5
解决:
修改密码:
alter user 'root'@'localhost' identified by 'mingyang2025Ai';
use mysql;
update user set user.Host='%' where user.User='root';
grant all privileges on *.* to root@'%' identified by 'mingyang2025Ai';
flush privileges;
quit
9.新增mysql的配置文件
新增慢日志文件
vi /var/log/mysql_slow.log
创建该文件,退出的时候,就算不输入内容,也要强制保存一下 :wq!
使该文件保存进来。
创建my.cnf文件
vi /usr/local/mysql/my.cnf
内容:
[mysqld]
port = 3306
lower_case_table_names=1
character_set_server=utf8
max_connections=2000
innodb_buffer_pool_size=2048M
#中国标准时间, 会输出08:00
default-time_zone = '+8:00'
default-storage-engine=INNODB
collation-server=utf8_general_ci
# 查询设置
# 开启慢查询日志(或设置1)
slow_query_log=1
# # 指定日志文件保存路径,不指定的话默认在数据库文件目录下 注意必须手动建文件 及权限
slow_query_log_file=/var/log/mysql_slow.log
# # 指定达到多少秒才算慢查询 微妙
long_query_time=5
# 记录没有使用索引的查询语句
#log_queries_not_using_indexes=on
# 示每分钟允许记录到slow log的且未使用索引的sql语句次数
#log_throttle_queries_not_using_indexes=10
# 日志存储方式
log_output=FILE
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
重启一下mysql,查看数据库是否生效。
service mysql restart
使用下面命令,查看配置信息是否,这一步非常重要,配置文件不生效,会导致系统区分大小写表。
mysql -u root -p
show VARIABLES like '%slow%';
出现这样,代表成功。