Linux系统怎么安装设置MySQL(linux,mysql,开发技术)

时间:2024-04-30 08:09:37 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

Linux系统怎么安装设置MySQL

MySQL简介:

MySQL是一个小型关系型数据库管理系统,它由 MySQL AB开发、发布和支持。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。

MySQL的特点:

①面向集合的操作方式   

②开源代码   

③高度非过程化   

④以一种语法结构提供多种使用方式   

⑤语言简洁,易用易学

Linux系统安装MySQL详细步骤:

下载mysql包 注意 在MySQL Server 8.0.12中,压缩算法从Gzip更改为XZ;并且通用二进制文件的文件扩展名从.tar.gz更改为.tar.xz。

安装环境准备阶段

Linux系统怎么安装设置MySQL

将xz文件解压为tar文件

[root@centOS1opt]#xz-dmysql-8.0.19-linux-glibc2.12-x86_64.tar.xz[root@centOS1opt]#ll总用量3300864drwxr-xr-x.2rootroot40963月520:08gcctemp-rwxr-xr-x.1rootroot516813213月1220:49gzhxvts1.zip-rwxrwxrwx.1rootroot6030198986月142018mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz-rwxr-xr-x.1rootroot26517120003月1416:55mysql-8.0.19-linux-glibc2.12-x86_64.tar12345678

解压tar文件

[root@centOS1opt]#tar-xvfmysql-8.0.19-linux-glibc2.12-x86_64.tar12

将解压好的mysql移动到/usr/local/下并重命名为mysql

[root@centOS1opt]#mvmysql-8.0.19-linux-glibc2.12-x86_64/usr/local/mysql1

进入到mysql文件夹下并在mysql文件夹下创建data文件夹

[root@centOS1opt]#cd/usr/local/mysql/[root@centOS1mysql]#ll总用量432drwxr-xr-x.2716131415409612月1007:32bindrwxr-xr-x.2716131415409612月1007:32docsdrwxr-xr-x.3716131415409612月1007:32includedrwxr-xr-x.6716131415409612月1007:32lib-rw-r--r--.171613141540557112月1003:53LICENSEdrwxr-xr-x.4716131415409612月1007:32man-rw-r--r--.171613141568712月1003:53READMEdrwxr-xr-x.28716131415409612月1007:32sharedrwxr-xr-x.2716131415409612月1007:32support-files[root@centOS1mysql]#mkdirdata12345678910111213

创建mysql用户和mysql组并将mysql及下所有文件授权给mysql groupadd mysql –创建mysql用户组组

[root@centOS1mysql]#groupaddmysql1

useradd -r -g mysql mysql –创建mysql用户并添加到mysql用户组中

[root@centOS1mysql]#useradd-r-gmysqlmysql1

给mysql用户设置密码

[root@centOS1local]#passwdmysql1

chown -R mysql mysql/ –将mysql目录访问权限赋为myql用户

[root@centOS1mysql]#chown-Rmysql/usr/local/mysql/1

chgrp -R mysql mysql/ –改变mysql目录的用户组属于mysql组

[root@centOS1mysql]#chgrp-Rmysql/usr/local/mysql/1

为mysql添加环境变量

[root@centOS1mysql]#vim/etc/profile1

编辑内容添加如下代码 Linux系统怎么安装设置MySQL 执行下面代码使立即生效

[root@centOS1mysql]#source/etc/profile12
mysql安装设置及测试阶段

在MySQL 8.0中,默认的身份验证插件已从更改 mysql_native_password为 caching_sha2_password,并且 ‘root’@’localhost’管理帐户caching_sha2_password默认使用。如果您希望该root帐户使用以前的默认身份验证插件(mysql_native_password),需要在配置文件中进行设置。

将位置更改为MySQL安装的顶级目录,通常是 /usr/local/mysql(根据需要调整系统的路径名):

[root@centOS1mysql]#cd/usr/local/mysql/12

官网原文:在mysql文件夹下穿件mysql-files文件夹,并设置文件用户组及权限 Linux系统怎么安装设置MySQL

[root@centOS1mysql]#cd/usr/local/mysql/[root@centOS1mysql]#mkdirmysql-files[root@centOS1mysql]#chownmysql:mysqlmysql-files/[root@centOS1mysql]#chmod750mysql-files/1234

使用服务器初始化数据目录,包括mysql包含初始MySQL授权表的架构,该表确定如何允许用户连接到服务器。例如:

[root@centOS1mysql]#bin/mysqld--initialize--user=mysql--console2020-03-14T10:19:16.744808Z0[System][MY-013169][Server]/usr/local/mysql/bin/mysqld(mysqld8.0.19)initializingofserverinprogressasprocess42822020-03-14T10:19:18.697090Z5[Note][MY-010454][Server]Atemporarypasswordisgeneratedforroot@localhost:ei记住生成的密码:ei[root@centOS1mysql]#servicemysqldstartStartingMySQL.[确定]12关闭mysql服务[root@centOS1mysql]#servicemysqldstopShuttingdownMySQL..[确定]12推荐使用的服务启动方式mysqld_safe命令mysqld_safe是在Unix上启动mysqld服务器的推荐方法。mysqld_safe增加了一些安全特性,例如在发生错误时重新启动服务器,并将运行时信息记录到错误日志。用法:mysqld_safe[OPTIONS]参数解释:--help#显示帮助信息并退出--basedir#mysql的安装路径--datadir#数据的存放路径--no-defaults#不读取系统默认文件--defaults-file=FILE#使用制定的默认文件--defaults-extra-file=FILE#同时使用指定文件的默认值--ledir=DIRECTORY#在指定目录中查找mysqld--open-files-limit=LIMIT#限制打开的文件数--core-file-size=LIMIT#将核心文件限制为指定的大小--timezone=TZ#设置系统时区--malloc-lib=LIB#预加载共享库(如果可用)--mysqld=FILE#使用指定的文件作为mysqld--mysqld-version=VERSION#使用mysql-version作为mysqld--nice=NICE#设置mysqld的调度优先级--plugin-dir=DIR#插件在dir或dir/version下,如果给出了版本--skip-kill-mysqld#不要试图杀死多余的mysqld进程--syslog#使用“logger”将消息记录到syslog--skip-syslog#将消息记录到错误日志(默认)--syslog-tag=TAG#将-t“mysqldtag”传递给“logger”--mysqld-safe-log-timestamps=TYPE#类型必须是一个国际标准(ISO8601UTC)--skip-grent-tables#忘记管理员密码后可使用,不使用授权表123456789101112131415161718192021实例:1、使用mysqld_safe启动MySQL数据库[root@centOS1~]#mysqld_safe--basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/--user=mysql&1my.cnf文件的加载顺序2、mysqld_safe通过配置文件启动MySQL数据库,如果不指定配置文件,系统则首先找mysql安装目录下的my.cnf,如果没有在找/etc/my.cnf,在没有则使用默认的配置参数启动mysqld_safe--defaults-file=/etc/my.cnf--user=mysql&1注意:如果用于–initialize-insecure初始化数据目录,请使用root不带密码的方式连接到服务器:[root@centOS1mysql]#mysql-uroot--skip-password1登录后修改默认密码:mysql>ALTERUSER'root'@'localhost'IDENTIFIEDBY'新密码';QueryOK,0rowsaffected(0.03sec)123设置远程连接并重新设置密码编码规则:mysql>usemysql;mysql>ALTERUSER'root'IDENTIFIEDWITHmysql_native_passwordBY'root';QueryOK,0rowsaffected(0.03sec)123初始化参数说明参数:–initialize或–initialize-insecure–initialize默认生成一个随机的密码,改密码被标记为过期的,登录之后被要求设置一个新密码,这种方式是推荐使用的,这是一种安全的初始化方式[Warning]Atemporarypasswordisgeneratedforroot@localhost:iTag*AfrH5ej12–initialize-insecure默认不生成一个密码,不推荐使用,并给出警告[Warning]root@localhostiscreatedwithanemptypassword!Pleaseconsiderswitchingoffthe--initialize-insecureoption.12官方解释:参数:–user在Unix和类Unix系统中,mysql登录帐户拥有的数据库目录和文件非常重要,这样服务器在以后运行时可以对它们进行读写访问。要确保这一点,请从系统根帐户启动mysqld并包括–user选项.或者,在以mysql登录时执行mysqld,在这种情况下,可以从命令中省略–user选项。官方解释:参数:–basedir或–datadir如果不是官方指定的默认目录安装,或者说需要用户显示的指定数据库的根目录和data目录则需要设置这两个参数,例如:bin/mysqld--initialize--user=mysql--basedir=/opt/mysql/mysql--datadir=/opt/mysql/mysql/data1或者,将相关的选项设置放在选项文件中,然后将该文件的名称传递给mysqld。假设选项文件名为/opt/mysql/mysql/etc/my.cnf。将这些行放在文件中:[mysqld]basedir=/opt/mysql/mysqldatadir=/opt/mysql/mysql/data123然后按以下方式调用mysqld(–defaults-file=配置文件的位置):bin/mysqld--defaults-file=/opt/mysql/mysql/etc/my.cnf--initialize--user=mysql1数据目录初始化期间的服务器操作注意服务器执行的数据目录初始化序列不能代替mysql_secure_installation和mysql_ssl_rsa_setup执行的动作。请参见https://dev.mysql.com/doc/refman/8.0/en/mysql-secure-installation.html“mysql_secure_installation-提高MySQL安装安全性”https://dev.mysql.com/doc/refman/8.0/en/mysql-ssl-rsa-setup.html“mysql_ssl_rsa_setup-创建SSL/RSA文件”。扩展内容数据目录初始化会在mysql架构中创建时区表,但不会填充它们。设置官网地址https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html如果要部署自动支持安全连接的服务器,请使用mysql_ssl_rsa_setup实用程序创建默认的SSL和RSA文件:[root@centOS1mysql]#bin/mysql_ssl_rsa_setup1在没有任何选项文件的情况下,服务器以其默认设置启动。(请参见第5.1.2节“服务器配置默认值”。)要显式指定MySQL服务器在启动时应使用的选项,请将它们放在选项文件中,例如/etc/my.cnf或/etc/mysql/my.cnf。例如,您可以使用选项文件来设置secure_file_priv系统变量。一、SSL介绍SSL(SecureSocketLayer:安全套接字层)利用数据加密、身份验证和消息完整性验证机制,为基于TCP等可靠连接的应用层协议提供安全性保证。SSL协议提供的功能主要有:1、数据传输的机密性:利用对称密钥算法对传输的数据进行加密。2.、身份验证机制:基于证书利用数字签名方法对服务器和客户端进行身份验证,其中客户端的身份验证是可选的。3、消息完整性验证:消息传输过程中使用MAC算法来检验消息的完整性。如果用户的传输不是通过SSL的方式,那么其在网络中数据都是以明文进行传输的,而这给别有用心的人带来了可乘之机。所以,现在很多大型网站都开启了SSL功能。同样地,在我们数据库方面,如果客户端连接服务器获取数据不是使用SSL连接,那么在传输过程中,数据就有可能被窃取如果启用的ssl,当运行完这个命令后,默认会在data_dir目录下生成以下pem文件,这些文件就是用于启用SSL功能的:[root@centOS1data]#ll*.pem-rw-------.1mysqlmysql16763月1418:19ca-key.pem-rw-r--r--.1mysqlmysql11123月1418:19ca.pem-rw-r--r--.1mysqlmysql11123月1418:19client-cert.pem-rw-------.1mysqlmysql16803月1418:19client-key.pem-rw-------.1mysqlmysql16763月1418:19private_key.pem-rw-r--r--.1mysqlmysql4523月1418:19public_key.pem-rw-r--r--.1mysqlmysql11123月1418:19server-cert.pem-rw-------.1mysqlmysql16763月1418:19server-key.pem[root@centOS1data]#12345678910执行:mysql>showglobalvariableslike‘%ssl%’;命令可以看到have_ssl值为yes标识已经开启mysql>showglobalvariableslike'%ssl%';+--------------------+-----------------+|Variable_name|Value|+--------------------+-----------------+|have_openssl|YES||have_ssl|YES||mysqlx_ssl_ca|||mysqlx_ssl_capath|||mysqlx_ssl_cert|||mysqlx_ssl_cipher|||mysqlx_ssl_crl|||mysqlx_ssl_crlpath|||mysqlx_ssl_key|||ssl_ca|ca.pem||ssl_capath|||ssl_cert|server-cert.pem||ssl_cipher|||ssl_crl|||ssl_crlpath|||ssl_fips_mode|OFF||ssl_key|server-key.pem|+--------------------+-----------------+17rowsinset(0.01sec)1234567891011121314151617181920212223在连接数据库执行\s命令可以看到SSL:CipherinuseisTLS_AES_256_GCM_SHA384标志是ssl方式连接。注意:如果是本地连接则显示:NotinuseSSL:NotinuseCurrentpager:stdoutUsingoutfile:''123mysql>\s--------------mysqlVer8.0.19forWin64onx86_64(MySQLCommunityServer-GPL)Connectionid:21Currentdatabase:Currentuser:root@192.168.11.1SSL:CipherinuseisTLS_AES_256_GCM_SHA384Usingdelimiter:;Serverversion:8.0.19MySQLCommunityServer-GPLProtocolversion:10Connection:192.168.11.129viaTCP/IPServercharacterset:utf8mb4Dbcharacterset:utf8mb4Clientcharacterset:utf8Conn.characterset:utf8TCPport:3306Binarydataas:HexadecimalUptime:29min5secThreads:7Questions:148Slowqueries:0Opens:294Flushtables:3Opentables:214Queriespersecondavg:0.084--------------12345678910111213141516171819202122linux系统下安装多个mysql版本共存,并分别启动配置安装配置要注意的地方:1,安装的目录不要一样,不管你是用管理软件安装的,还是手动安装的,多个mysql不要安装在同一个目录。2,数据库文件存放的地方,不要相同,也就是my.cnf里面的datadir的的设置不要一样3,mysql的启动端口不要一样,默认的3306,多个时候可以13306,13307等最好设置成10000以外的。4,mysql的服务socket不要设置成一样,就是my.cnf里面socket的设置不要一样5,mysql服务的pid文件不要设置成一样,就是my.cnf里面pid-file的设置不要一样看一下其中一个my.cnf中mysqld的配置[root@centOS1~]#cat/etc/my.cnf[mysqld]#设置3306端口port=3307#设置mysql的安装目录basedir=/usr/local/mysql#设置mysql数据库的数据的存放目录datadir=/usr/local/mysql/datapid-file=centOS1.pidsocket=/tmp/mysql.sock#允许最大连接数max_connections=200#允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统max_connect_errors=10#服务端使用的字符集默认为UTF8#character-set-server=utf8#创建新表时将使用的默认存储引擎#default-storage-engine=INNODB#默认使用“mysql_native_password”插件认证default_authentication_plugin=mysql_native_password[mysql]#设置mysql客户端默认字符集#default-character-set=utf8[client]#设置mysql客户端连接服务端时默认使用的端口port=3307#default-character-set=utf8123456789101112131415161718192021222324252627mysql服务设置开机自启将/usr/local/mysql/support-files/mysql.service复制到/etc/init.d/mysqld[root@centOS1bin]#cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld1给文件授予可执行权限[root@centOS1bin]#chmod+x/etc/init.d/mysqld1添加服务[root@centOS1bin]#chkconfig--addmysqld1检查服务是否添加成功[root@centOS1bin]#chkconfig--list|grepmysqldmysqld0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭12删除自启服务命令[root@centOS1bin]#chkconfig--del服务名1权限说明从上图片中红色框从左到右是第一组到第六组进行说明:第一组:d或者-标识:是目录还是文件第二组:rwx标识:文件或目录所有者的权限第三组:r-x标识:文件所在组用户对文件的权限第四组:r-x标识:其他组用户对文件或目录的权限第五组:mysql标识:文件所有者第六组:mysql标识:文件所在组一般是三个数字:chmod750“授权文件名”第一个数字表示文件所有者的权限第二个数字表示文件所有者同属一个用户组的其他用户的权限第三个数字表示其他用户组的权限。权限分为三种:读(r=4),写(w=2),执行(x=1)。结合起来还有可读可执行(rx=5=4+1),可读可写(rw=6=4+2)等。所以,chmod755设置用户的权限为:1.文件所有者可读可写可执行–72.与文件所有者同属一个用户组的其他用户可读可执行–53.其他用户组可读可执行–5命令:[ugoa]含义uuser表示该文件的所有者ggroup表示与该文件的所有者属于同一组(group)者,即用户组oother表示其它用户组aall表示这三者皆是[+-=]含义+增加权限-撤销权限=设定权限[rwx]含义rread表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。wwrite表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。xexcute表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。chmodu+rwfilename说明对于filname,只赋予user用户,read、write权限chmodu+rwx,g+rwfilename说明对filename,赋予user用户read、write、excute权限;赋予group用户read、write权限
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Linux系统怎么安装设置MySQL的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Linux 中32位与64位的区别是什么下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18