目录
一、首先安装可以根据官方文档进行安装
二、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、修改主机名:为了方便识别
[root@nginx-kafka02 opt]# hostnamectl set-hostname sc-mysql
[root@nginx-kafka02 opt]# su - root 切换用户进行生效
上一次登录:五 7月 29 09:19:53 CST 2022从 192.168.2.118pts/0 上
2、解决软件的依赖关系。
yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y
[root@sc-mysql ~]# yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y
已加载插件:fastestmirror
Determining fastest mirrors
epel/x86_64/metalink | 6.2 kB 00:00:00
* base: mirrors.nju.edu.cn
* epel: mirror.sjtu.edu.cn
* extras: mirrors.nju.edu.cn
* updates: mirrors.nju.edu.cn
base
...
弄克隆机的时候需要先将原始机器关机,然后创建克隆机:
原始机器关机:init 0
创建好克隆机之后重新连接上。
3、安装网络工具
[root@sc-mysql ~]# yum install net-tools -y
4、解压压缩包
tar -xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
[root@sc-mysql opt]# tar -xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
[root@sc-mysql opt]# ls
apache-zookeeper-3.6.3-bin kafka_2.12-2.8.1.tgz
apache-zookeeper-3.6.3-bin.tar.gz mysql-5.7.37-linux-glibc2.12-x86_64
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 组名:手工指定用户的初始组。一般以和用户名相同的组作为用户的初始值,在创建用户会默认建立初始组。一旦手动指定,系统将不会在创建此默认的初始组目录。
[root@sc-mysql opt]# groupadd mysql
[root@sc-mysql opt]# useradd -r -g mysql -s /bin/false mysql
[root@sc-mysql opt]# ll -d /data/mysql
drwxr-xr-x 2 root root 6 7月 29 11:32 /data/mysql
7、关闭firewalld防火墙服务,并且设置开机不要启动
[root@sc-mysql opt]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@sc-mysql opt]# systemctl disable firewalld
8、临时关闭selinux
[root@sc-mysql opt]# setenforce 0
setenforce: SELinux is disabled
也可以永久关闭selinux。
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
[root@sc-mysql opt]# sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
9、新建存放数据的目录 为:/data/mysql
[root@sc-mysql opt]# mkdir /data/mysql -p
[root@sc-mysql opt]# ll -d /data/mysql
drwxr-xr-x 2 root root 6 7月 29 11:32 /data/mysql
10、修改/data/mysql目录的权限
修改权限归mysql用户和mysql组所有,这样mysql用户启动的mysql进程可以对这个文件夹进行读写了。只是允许mysql这个用户和mysql组可以访问,其他人都不能访问。
[root@sc-mysql opt]#chown mysql:mysql /data/mysql/
[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
一定要记住自己的临时密码:密码为最后一行。
[root@sc-mysql bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql
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).
........
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方式登录的设置
./mysql_ssl_rsa_setup --datadir=/data/mysql/
[root@sc-mysql bin]# ./mysql_ssl_rsa_setup --datadir=/data/mysql/
13、修改PATH变量
进入mysql bin目录的路径。
临时修改PATH变量的值:
export PATH=/usr/local/mysql/bin/:$PATH
[root@sc-mysql bin]# export PATH=/usr/local/mysql/bin/:$PATH
重新启动linux系统后也生效,永久修改,让root用户也能使用。
[root@sc-mysql bin]# echo 'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc
[root@sc-mysql bin]# pwd
/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目录的值。
[root@sc-mysql bin]# vim /etc/init.d/mysqld #手动修改
[root@sc-mysql bin]# sed -i '70c datadir=/data/mysql' /etc/init.d/mysqld #直接命令修改
15、生成/etc/my.cnf配置文件
[root@sc-mysql bin]# cat >/etc/my.cnf <<EOF
> [mysqld_safe]
>
> [client]
> socket=/data/mysql/mysql.sock
>
> [mysqld]
> socket=/data/mysql/mysql.sock
> port = 3306
> open_files_limit = 8192
> innodb_buffer_pool_size = 512M
> character-set-server=utf8
>
> [mysql]
> auto-rehash
> prompt=\\u@\\d \\R:\\m mysql>
> EOF
16、修改内核的open file的数量
[root@sc-mysql bin]#ulimit -n 1000000
扩展: ulimit -a 查看内核的open file的数量。
[root@sc-mysql bin]# ulimit -a 查看内核的open file的数量
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3795
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3795
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
17、设置开机启动的时候也配置生效
[root@sc-mysql bin]# echo "ulimit -n 1000000" >>/etc/rc.local
[root@sc-mysql bin]# chmod +x /etc/rc.d/rc.local
18、将mysqld添加到linux系统里服务管理名单里
/sbin/chkconfig --add mysqld
[root@sc-mysql bin]# chkconfig --add mysqld
19、 设置mysqld服务开机启动
/sbin/chkconfig mysqld on
[root@sc-mysql bin]# chkconfig mysqld on
#新式chkconfig mysql on
#chkconfig --list可以查看
[root@sc-mysql bin]# chkconfig --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
network 0:关 1:关 2:开 3:开 4:开 5:开 6:关
20、启动mysqld进程
service mysqld start
[root@sc-mysql bin]# service mysqld start
Starting MySQL.Logging to '/data/mysql/sc-mysql.err'.
SUCCESS!
查看进程是否启动:
[root@sc-mysql bin]# ps -ef|grep mysql
21、进入mysql,使用刚刚的临时密码
[root@sc-mysql bin]# mysql -uroot -p'ptogEfkPM8:f'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.37
22、进入数据之后修改密码
set password='Sanchuang123#';
修改root用户的密码为Sanchuang123#
root@(none) 11:59 mysql>set password='Sanchuang123#';
Query OK, 0 rows affected (0.00 sec)
检验上一步修改密码是否成功,如果有输出能看到mysql里的数据库。
root@(none) 12:01 mysql>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
然后使用init 6 重新启动机器,然后使用修改后的密码进行登录,如果成功登录。那就说明密码修改成功:
[root@sc-mysql ~]# mysql -uroot -p'Sanchuang123#'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.37 MySQL Community Server (GPL)
查看数据库中的有哪些数据库:
root@(none) 12:03 mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
如果出现这样就说明安装成功了。
如果觉得在命令行执行命令安装步骤比较多的话,可以通过编写一个脚本来执行安装:文章来源:https://www.toymoban.com/news/detail-489484.html
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文章来源地址https://www.toymoban.com/news/detail-489484.html
到了这里,关于mysql数据库安装教程(超级超级详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!