龙空技术网

Debian环境下安装MySQL

青少年编程ABC 31

前言:

当前咱们对“debian 安装中文环境”大概比较重视,兄弟们都想要知道一些“debian 安装中文环境”的相关内容。那么小编在网摘上收集了一些关于“debian 安装中文环境””的相关内容,希望姐妹们能喜欢,看官们快快来了解一下吧!

Debian环境下安装MySQL系统环境

OS

Debian 10.12 X64

MySQL

mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

安装依赖

apt-get install libaio1 libaio-dev libncurses5 libnuma1 sysv-rc-conf
安装 MySQL

1.对通用二进制安装包解压缩

首先将安装包上传到 /usr/local 目录下,然后执行如下命令:

cd /usr/localtar -xvJf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xzln -s mysql-8.0.30-linux-glibc2.12-x86_64 mysql

2.创建用户以及用户组

因为用户仅用于所有权目的,而不用于登录,所以 useradd 命令使用 -r 和 -s /bin/false 选项

groupadd mysqluseradd -r -g mysql -s /bin/false mysql

3.添加环境变量

vim /etc/profile# 在文件尾部加上如下代码后保存退出,一定要添加到最末尾export PATH=$PATH:/usr/local/mysql/bin# 刷新文件,使配置生效source /etc/profile

4.创建相应目录并赋予合适权限

mkdir -p /u01/mysql/data /u01/mysql/logtouch /u01/mysql/log/mysql.err /u01/mysql/mysql.pid /u01/mysql/mysql.sockchown mysql:mysql -R /u01/mysqlchmod 750 -R /u01/mysqlln /u01/mysql/mysql.sock /tmp/mysql.sock

5.编写配置文件

vim /etc/my.cnf

配置文件内容

[mysqld]# 设置可以访问数据库的ip地址,0.0.0.0代表无限制bind-address=0.0.0.0# 设置端口号port=3306# 设置mysql的安装目录basedir=/usr/local/mysql# 设置 mysql 数据库的数据的存放目录datadir=/u01/mysql/data# 本地连接的 socket 套接字socket=/u01/mysql/mysql.sock# 错误日志存放位置log_error=/u01/mysql/log/mysql.err# pid file 文件位置,当MySQL实例启动时,会将自己的进程ID写入一个文件中,该文件即为 pid 文件pid_file=/u01/mysql/mysql.pid# 允许最大连接数max_connections=1000# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统max_connect_errors=100# 服务端使用的字符集默认为UTF8character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 默认使用“mysql_native_password”插件认证default_authentication_plugin=mysql_native_password# 是否对sql语句大小写敏感,1 表示不敏感lower_case_table_names = 1# MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭# MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效interactive_timeout = 1800wait_timeout = 1800# Metadata Lock最大时长(秒), 一般用于控制 alter 操作的最大时长# 执行 DML操作时除了增加 innodb 事务锁外还增加 Metadata Lock,其他 alter(DDL)session将阻塞lock_wait_timeout = 3600# 内部内存临时表的最大值,比如大数据量的 group by、order by时可能用到临时表,# 超过了这个值将写入磁盘,系统 IO 压力增大tmp_table_size = 64Mmax_heap_table_size = 64M[mysql]# 设置 mysql 客户端默认字符集default-character-set=utf8mb4[client]# 设置mysql客户端连接服务端时默认使用的端口port=3306default-character-set=utf8mb4

无注释配置文件内容

[mysqld]bind-address=0.0.0.0port=3306basedir=/usr/local/mysqldatadir=/u01/mysql/datasocket=/u01/mysql/mysql.socklog_error=/u01/mysql/log/mysql.errpid_file=/u01/mysql/mysql.pidmax_connections=1000max_connect_errors=100character-set-server=utf8mb4default-storage-engine=INNODBdefault_authentication_plugin=mysql_native_passwordlower_case_table_names = 1interactive_timeout = 1800wait_timeout = 1800lock_wait_timeout = 3600tmp_table_size = 64Mmax_heap_table_size = 64M[mysql]default-character-set=utf8mb4[client]port=3306default-character-set=utf8mb4

6.初始化 MySQL

mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/u01/mysql/data --user=mysql --initialize

7.查看密码

cat /u01/mysql/log/mysql.err

输出如下:

2022-09-13T12:21:02.403136Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.2022-09-13T12:21:02.403147Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.30-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.30) initializing of server in progress as process 9832022-09-13T12:21:02.760431Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.2022-09-13T12:21:04.484358Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.2022-09-13T12:21:06.847940Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ?fjip&Me=6-H

注意:这个密码只能登录一次

8.创建 MySQL 服务

# 将 mysql.server 文件复制到 /etc/init.d 中cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld# 赋予可执行权限chmod +x /etc/init.d/mysqld# 添加服务sysv-rc-conf mysqld on# 显示服务列表sysv-rc-conf --list# 如果看到 mysqld 服务,并且 3,4,5 都是开的话则成功,如果是关,则执行如下命令sysv-rc-conf --level 345 mysqld on

9.MySQL服务操作

# 启动MySQLservice mysqld start 或 /etc/init.d/mysqld start # 重启MySQLservice mysqld restart 或 /etc/init.d/mysqld restart# 停止MySQLservice mysqld stop 或 /etc/init.d/mysqld stop# MySQL状态service mysqld status 或 /etc/init.d/mysqld status

10.使用前面的随机生成的密码登陆MySQL

mysql -u root -p

注意:这个密码只能登录一次,登录后不立马修改密码的话,这个密码就会失效!

如果不慎退出,用我们刚刚查看初始随机密码的命令:cat /u01/mysql/log/mysql.err 再查看一次!MySQL 在你使用初始密码登录退出并且没有修改初始密码的情况下,会再一次生成密码。

11.修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
远程连接

root 用户是默认不允许远程连接的,如果你现在远程连接,会报如下错误:

not allowed to connect to this MySQL server

执行如下 SQL 命令:

USE mysql# 使 root 能在任何host访问UPDATE user set host = '%' where user = 'root'; FLUSH PRIVILEGES;

此时,即可远程连接到该数据库。

标签: #debian 安装中文环境 #debianmysql56 #mysql启动pid ended #修改root密码 debian