当前位置:   article > 正文

mysql数据库安装教程(超级超级详细)_mysql安装教程

mysql安装教程

目录

一、首先安装可以根据官方文档进行安装

二、Linux中安装mysql

1、首先执行二进制文件的安装


一、首先安装可以根据官方文档进行安装

https://dev.mysql.com/doc/

1、先安装到Windows中:

 2、选择mysql community server。

3、 选择要下载的版本,到时候使用Linux中的ftp软件上传。推荐选择5.7版本的,因为老,稳定,很多公司都在使用。

4、 然后接下来是可以根据官方文档安装到Linux中:

二、Linux中安装mysql

1、安装mysql:准备一台新的虚拟机,没有安装过mysql的。然后先使用xfs将mysql的压缩包下载到Linux中(随便的路径都可以)

2、然后先使用xfs将mysql的压缩包下载到Linux中(随便的路径都可以)。我们是实现二进制文件进行安装:也有一个脚本文件的安装。那我们待会就可以准备一台克隆机来使用脚本安装。

1、首先执行二进制文件的安装

1、修改主机名:为了方便识别

  1. [root@nginx-kafka02 opt]# hostnamectl set-hostname sc-mysql
  2. [root@nginx-kafka02 opt]# su - root 切换用户进行生效
  3. 上一次登录:五 729 09:19:53 CST 2022192.168.2.118pts/0

2、解决软件的依赖关系。

yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y

  1. [root@sc-mysql ~]# yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y
  2. 已加载插件:fastestmirror
  3. Determining fastest mirrors
  4. epel/x86_64/metalink | 6.2 kB 00:00:00
  5. * base: mirrors.nju.edu.cn
  6. * epel: mirror.sjtu.edu.cn
  7. * extras: mirrors.nju.edu.cn
  8. * updates: mirrors.nju.edu.cn
  9. base
  10. ...

弄克隆机的时候需要先将原始机器关机,然后创建克隆机:

原始机器关机:init 0

创建好克隆机之后重新连接上。

3、安装网络工具

[root@sc-mysql ~]# yum install net-tools -y

4、解压压缩包

  1. tar -xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
  2. [root@sc-mysql opt]# tar -xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
  3. [root@sc-mysql opt]# ls
  4. apache-zookeeper-3.6.3-bin kafka_2.12-2.8.1.tgz
  5. apache-zookeeper-3.6.3-bin.tar.gz mysql-5.7.37-linux-glibc2.12-x86_64
  6. kafka_2.12-2.8.1 mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

5、移动mysql解压后的文件

移动mysql解压后的文件到/usr/local下改名叫mysqlusr/local/mysql 是mysql的安装目录 --门店

[root@sc-mysql opt]#mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql

 6、新建组和用户 mysql

mysql这个用户的shell 是/bin/false 属于mysql组。

useradd -r:是指创建系统用户,也就是 UID 在 1~499 之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录。

-g 组名:手工指定用户的初始组。一般以和用户名相同的组作为用户的初始值,在创建用户会默认建立初始组。一旦手动指定,系统将不会在创建此默认的初始组目录。

  1. [root@sc-mysql opt]# groupadd mysql
  2. [root@sc-mysql opt]# useradd -r -g mysql -s /bin/false mysql
  3. [root@sc-mysql opt]# ll -d /data/mysql
  4. drwxr-xr-x 2 root root 6 729 11:32 /data/mysql

7、关闭firewalld防火墙服务,并且设置开机不要启动

  1. [root@sc-mysql opt]# service firewalld stop
  2. Redirecting to /bin/systemctl stop firewalld.service
  3. [root@sc-mysql opt]# systemctl disable firewalld

8、临时关闭selinux

  1. [root@sc-mysql opt]# setenforce 0
  2. setenforce: SELinux is disabled

也可以永久关闭selinux。

  1. sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
  2. [root@sc-mysql opt]# sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config

9、新建存放数据的目录 为:/data/mysql

  1. [root@sc-mysql opt]# mkdir /data/mysql -p
  2. [root@sc-mysql opt]# ll -d /data/mysql
  3. drwxr-xr-x 2 root root 6 729 11:32 /data/mysql

10、修改/data/mysql目录的权限

修改权限归mysql用户和mysql组所有,这样mysql用户启动的mysql进程可以对这个文件夹进行读写了。只是允许mysql这个用户和mysql组可以访问,其他人都不能访问。

  1. [root@sc-mysql opt]#chown mysql:mysql /data/mysql/
  2. [root@sc-mysql opt]#chmod 750 /data/mysql/

进入/usr/local/mysql/bin目录。

[root@sc-mysql opt]#cd /usr/local/mysql/bin/

11、初始化mysql

--initialize :初始化  ---  basedir:基地 将生成的临时密码重定向到 &>passwd.txt

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>passwd.txt

 一定要记住自己的临时密码:密码为最后一行。

  1. [root@sc-mysql bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql
  2. 2022-07-29T03:36:45.934736Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  3. ........
  4. 2022-07-29T03:36:47.113350Z 1 [Note] A temporary password is generated for root@localhost: ptogEfkPM8:f

 扩展知识:root@localhost: mysql里的超级用户root只能在本机上登录

比如sc@192.168.2.132 sc这个用户只能在192.168.2.132 sc这台服务器上登录进入mysql

12、让mysql支持ssl方式登录的设置

  1. ./mysql_ssl_rsa_setup --datadir=/data/mysql/
  2. [root@sc-mysql bin]# ./mysql_ssl_rsa_setup --datadir=/data/mysql/

13、修改PATH变量

进入mysql bin目录的路径。

临时修改PATH变量的值:

  1. export PATH=/usr/local/mysql/bin/:$PATH
  2. [root@sc-mysql bin]# export PATH=/usr/local/mysql/bin/:$PATH

重新启动linux系统后也生效,永久修改,让root用户也能使用。

  1. [root@sc-mysql bin]# echo 'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc
  2. [root@sc-mysql bin]# pwd
  3. /usr/local/mysql/bin

 14、复制support-files里的mysql.server文件到/etc/init.d/目录下叫mysqld

[root@sc-mysql bin]# cp  ../support-files/mysql.server   /etc/init.d/mysqld

修改/etc/init.d/mysqld脚本文件里的datadir目录的值。

  1. [root@sc-mysql bin]# vim /etc/init.d/mysqld #手动修改
  2. [root@sc-mysql bin]# sed -i '70c datadir=/data/mysql' /etc/init.d/mysqld #直接命令修改

15、生成/etc/my.cnf配置文件

  1. [root@sc-mysql bin]# cat >/etc/my.cnf <<EOF
  2. > [mysqld_safe]
  3. >
  4. > [client]
  5. > socket=/data/mysql/mysql.sock
  6. >
  7. > [mysqld]
  8. > socket=/data/mysql/mysql.sock
  9. > port = 3306
  10. > open_files_limit = 8192
  11. > innodb_buffer_pool_size = 512M
  12. > character-set-server=utf8
  13. >
  14. > [mysql]
  15. > auto-rehash
  16. > prompt=\\u@\\d \\R:\\m mysql>
  17. > EOF

 16、修改内核的open file的数量

[root@sc-mysql bin]#ulimit -n 1000000

扩展: ulimit -a 查看内核的open file的数量。

  1. [root@sc-mysql bin]# ulimit -a 查看内核的open file的数量
  2. core file size (blocks, -c) 0
  3. data seg size (kbytes, -d) unlimited
  4. scheduling priority (-e) 0
  5. file size (blocks, -f) unlimited
  6. pending signals (-i) 3795
  7. max locked memory (kbytes, -l) 64
  8. max memory size (kbytes, -m) unlimited
  9. open files (-n) 1024
  10. pipe size (512 bytes, -p) 8
  11. POSIX message queues (bytes, -q) 819200
  12. real-time priority (-r) 0
  13. stack size (kbytes, -s) 8192
  14. cpu time (seconds, -t) unlimited
  15. max user processes (-u) 3795
  16. virtual memory (kbytes, -v) unlimited
  17. file locks (-x) unlimited

 17、设置开机启动的时候也配置生效

  1. [root@sc-mysql bin]# echo "ulimit -n 1000000" >>/etc/rc.local
  2. [root@sc-mysql bin]# chmod +x /etc/rc.d/rc.local

 18、将mysqld添加到linux系统里服务管理名单里

  1. /sbin/chkconfig --add mysqld
  2. [root@sc-mysql bin]# chkconfig --add mysqld

19、 设置mysqld服务开机启动

  1. /sbin/chkconfig mysqld on
  2. [root@sc-mysql bin]# chkconfig mysqld on
  3. #新式chkconfig mysql on
  4. #chkconfig --list可以查看
  5. [root@sc-mysql bin]# chkconfig --list
  6. 注:该输出结果只显示 SysV 服务,并不包含
  7. 原生 systemd 服务。SysV 配置数据
  8. 可能被原生 systemd 配置覆盖。
  9. 要列出 systemd 服务,请执行 'systemctl list-unit-files'
  10. 查看在具体 target 启用的服务请执行
  11. 'systemctl list-dependencies [target]'
  12. mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
  13. netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
  14. network 0:关 1:关 2:开 3:开 4:开 5:开 6:关

 20、启动mysqld进程

  1. service mysqld start
  2. [root@sc-mysql bin]# service mysqld start
  3. Starting MySQL.Logging to '/data/mysql/sc-mysql.err'.
  4. SUCCESS!

查看进程是否启动:

[root@sc-mysql bin]# ps -ef|grep mysql

21、进入mysql,使用刚刚的临时密码

  1. [root@sc-mysql bin]# mysql -uroot -p'ptogEfkPM8:f'
  2. mysql: [Warning] Using a password on the command line interface can be insecure.
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 2
  5. Server version: 5.7.37

22、进入数据之后修改密码

set password='Sanchuang123#';

修改root用户的密码为Sanchuang123#

  1. root@(none) 11:59 mysql>set password='Sanchuang123#';
  2. Query OK, 0 rows affected (0.00 sec)

 检验上一步修改密码是否成功,如果有输出能看到mysql里的数据库。

  1. root@(none) 12:01 mysql>show databases;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | mysql |
  7. | performance_schema |
  8. | sys |
  9. +--------------------+
  10. 4 rows in set (0.00 sec)

然后使用init 6 重新启动机器,然后使用修改后的密码进行登录,如果成功登录。那就说明密码修改成功:

  1. [root@sc-mysql ~]# mysql -uroot -p'Sanchuang123#'
  2. mysql: [Warning] Using a password on the command line interface can be insecure.
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 2
  5. Server version: 5.7.37 MySQL Community Server (GPL)

查看数据库中的有哪些数据库:

  1. root@(none) 12:03 mysql> show databases;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | mysql |
  7. | performance_schema |
  8. | sys |
  9. +--------------------+
  10. 4 rows in set (0.00 sec)

如果出现这样就说明安装成功了。

如果觉得在命令行执行命令安装步骤比较多的话,可以通过编写一个脚本来执行安装:

https://gitee.com/angel521/hyrz-student/tree/master/Linux%E8%84%9A%E6%9C%AC%E6%96%87%E4%BB%B6/%E4%B8%80%E9%94%AE%E9%83%A8%E7%BD%B2%E7%B1%BB%E8%84%9A%E6%9C%AC

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/572009
推荐阅读
相关标签
  

闽ICP备14008679号