MySQL

二进制方式:

下载并上传安装包到设备

创建组与用户

复制代码
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql

解压安装包:

复制代码
[root@localhost ~]# tar xf  mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz -C /usr/local/

软连接

复制代码
[root@localhost ~]# ln -sv mysql-8.0.36-linux-glibc2.28-x86_64 /usr/local/mysql
'/usr/local/mysql' -> 'mysql-8.0.36-linux-glibc2.28-x86_64'

初始化

复制代码
[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data
2025-02-04T08:37:33.610736Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.36) initializing of server in progress as process 2086
2025-02-04T08:37:33.625049Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-02-04T08:37:34.296122Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-02-04T08:37:35.362477Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wYiSf83tCu*2

配置文件

复制代码
[root@localhost ~]# mkdir /var/log/mysql

[root@openEuler-1 ~]# vim /etc/my.cnf
 
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

增加权限

复制代码
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql/*

添加系统服务

复制代码
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# ls
bin  data  docs  include  lib  LICENSE  man  README  share  support-files
[root@localhost mysql]# cd support-files/
[root@localhost support-files]# ls
mysqld_multi.server  mysql-log-rotate  mysql.server
[root@localhost support-files]# vim mysql.server
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld
[root@localhost support-files]# ll /etc/rc.d/rc3.d/
total 0
[root@localhost support-files]# chkconfig --add mysqld
[root@localhost support-files]# ll /etc/rc.d/rc3.d/
total 0
lrwxrwxrwx 1 root root 16 Feb  4 16:57 S64mysqld -> ../init.d/mysqld
[root@localhost support-files]# chkconfig mysqld on
[root@localhost support-files]# chkconfig --list mysqld

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

启动服务

复制代码
[root@localhost support-files]# systemctl start mysqld

登录MySQL

复制代码
[root@localhost support-files]# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.36

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

修改密码

复制代码
mysql> alter user root@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)

配置环境变量

复制代码
[root@localhost support-files]# vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

[root@localhost support-files]# source /etc/profile.d/mysql.sh

[root@localhost support-files]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.36 MySQL Community Server - GPL

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

删除系统服务

复制代码
[root@localhost support-files]# chkconfig mysqld off
[root@localhost support-files]# chkconfig --list mysqld

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off

删除文件

复制代码
[root@localhost support-files]# chkconfig --del mysqld
[root@localhost support-files]# ll /etc/init.d/
total 36
-rw-r--r--. 1 root root 18229 Aug 24  2022 functions
-rwxr-xr-x  1 root root 10576 Feb  4 16:55 mysqld
-rw-r--r--. 1 root root  1161 Jun 22  2024 README
[root@localhost support-files]# rm -f /etc/init.d/mysqld

第二种方法

配置文件

复制代码
[root@localhost support-files]# vim /usr/lib/systemd/system/mysqld.service

Description=MySQL 8.0 database server
After=syslog.target
After=network.target

[Service]
Type=notify
User=mysql
Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
ExecStop=/usr/local/mysql/bin/mysqladmin -uroot shutdown



TimeoutSec=300
PrivateTmp=true

Restart=on-failure

RestartPreventExitStatus=1
LimitNOFILE = 10000

[Install]
WantedBy=muli-user.target

加载设置

复制代码
[root@localhost support-files]# systemctl daemon-reload
相关推荐
Y0011123618 分钟前
MySQL-进阶
开发语言·数据库·sql·mysql
徒 花25 分钟前
数据库知识复习01
数据库
mameng199828 分钟前
Redis遇到热点key如何解决
数据库·redis·缓存
炜宏资料库32 分钟前
产业集团总部大楼智能化系统项目规划方案精讲
运维·服务器·数据库
嵌入式×边缘AI:打怪升级日志1 小时前
从零开始写Linux字符设备驱动:一个不操作硬件的Hello驱动
linux·运维·数据库
搜佛说1 小时前
比SQLite更快,比InfluxDB更轻:sfsDb的降维打击
jvm·数据库·物联网·架构·sqlite·边缘计算·iot
LilySesy1 小时前
【与AI+】英语day4——数据库与性能优化
数据库·oracle·性能优化·sap·abap·自动翻译
前进的李工1 小时前
MySQL角色管理:权限控制全攻略
前端·javascript·数据库·mysql
爱丽_1 小时前
MySQL `EXPLAIN`:看懂执行计划、判断索引是否生效与排错套路
android·数据库·mysql
小红的布丁1 小时前
Redis 持久化详解:AOF、RDB 与混合持久化如何平衡性能和可靠性
数据库·redis·缓存